Autor | Zpráva | ||
---|---|---|---|
xyndl z lesa Profil * |
#1 · Zasláno: 19. 1. 2010, 19:32:22
Zdravím chlapy, jsem začátečník a potřeboval bych poradit jak při registraci vytvořit antispamovou ochranu
např. kolik je 6+6, prostě něco jednoduchého aby se mi na webu nešířili boti .. díky za každou pomoc |
||
mckay Profil |
#2 · Zasláno: 19. 1. 2010, 19:39:30
xyndl z lesa:
Zkus skryté pole vypsané s hodnotou pomocí javascriptu. Nebo potom pár obrázku, které jsou jako příklad. Tedy různé výsledky a pak si otestuj, jestli to co se odešle jako výsledek, patří do skupiny výsledků, které máš přednastavené. Ideální je na to třeba funkce pro zjištění, jestli se vyskytuje v poli prvek s danou hodnotou: <?php in_array();?> |
||
xyndl z lesa Profil * |
#3 · Zasláno: 19. 1. 2010, 20:11:52
jak jsem psal .. jsem úplný amatér .. kamarád ale něco říkal o tom kolik je 6+6 že je to jednoduché .. nevíte někdo jak se toto dělá ? bude to pro mě jednodušší než javascript
díky |
||
Matess Profil * |
#4 · Zasláno: 19. 1. 2010, 21:00:15
Do formuláře vlož toto:
<p id="spamprotirobotum">Ochrana proti spamu. Napište prosím číslo dvacet-čtyři: <input type="text" name="robot" value="" id="protirobotum"></p> <script> /* tento skript vloží do příslušného políčka */ document.getElementById("protirobotum").value="24"; document.getElementById("spamprotirobotum").style.display = "none"; </script> |
||
xyndl z lesa Profil * |
#5 · Zasláno: 19. 1. 2010, 21:36:22
díky, ale bohužel to nefunguje :( .. nic se nestalo ....
vložil jsem to do registrace.php hned pod heslo a nic se nestalo .. co s tím ? :( |
||
keeehi Profil |
#6 · Zasláno: 19. 1. 2010, 21:54:38
xyndl z lesa:
Ono se nic stát nemá jenom potom v php budeš kontrolovat, zda $_POST["robot"]==24 Toť vše. |
||
lukigod Profil |
#7 · Zasláno: 19. 1. 2010, 21:58:01
já používám toto:
<?php $acko = rand(1,5); //náhodné číslo od 1 do 5 $becko = rand(1,5); // náhodné číslo od 1 do 5 $vysledek = $acko+$becko; // do proměnné se uloží výsledek $priklad = $acko."+".$becko; // do další proměnné se uloží text který se zobrazí ?> <label>Spam ochrana: Spočti <?php echo $priklad?></label> <input type="hidden" name="vysledek" value="<?php echo $vysledek ?>"> <input type="text" size="1" maxlength="2" name="ochrana"> no a pak už ve zpracovávacím skriptu porovnáváš $_POST["vysledek"] s proměnnou $_POST["ochrana"] |
||
xyndl z lesa Profil * |
#8 · Zasláno: 19. 1. 2010, 21:59:28
keeehi:
Aha, dobře děkuji, ještě jedna blbá otázka .. kde to budu kontrolovat ? a zda s tím máte někdo zkušenosti ? funguje to ? |
||
xyndl z lesa Profil * |
#9 · Zasláno: 19. 1. 2010, 22:02:33
lukigod:
ten tvůj se mi zdá lepší .. jenže .. porovnávání ?? kam to mám dát .. .:( |
||
keeehi Profil |
#10 · Zasláno: 19. 1. 2010, 22:04:47
xyndl z lesa:
budeš to kontrolovat v php scriptu, který ten daný formulář zpracovává if($_POST["robot"]==24){ // tady se pokrečuje ve zpracovávání } else { // e to nejspíš robot } |
||
xyndl z lesa Profil * |
#11 · Zasláno: 19. 1. 2010, 22:08:55
keeehi:
díky ale tato ochrana je mi k ničemu .. jde mi také o to aby se nešlo registovat jen po kliknutí na registrovat a aby se museli vyplnit aspoň nějaké údaje .. počkám až odepíše lukigod a řekne mi kam mám nakopírovat : no a pak už ve zpracovávacím skriptu porovnáváš $_POST["vysledek"] s proměnnou $_POST["ochrana"] a pokud jsou hodnoty shodné tak je vše v pořádku, else bude chyba.. |
||
keeehi Profil |
#12 · Zasláno: 19. 1. 2010, 22:21:23 · Upravil/a: keeehi
xyndl z lesa:
Ptal ses na ochranu proti bootům nebo na ochranu proti odeslání prázdného formuláře? Otázky byla na ochranu proti bootům proto ti bylo razeno toto řešení ochrana proti odeslání prázdného formuláře: (Nedá se to použít stylem Ctrl+C a CTRL+V) if(!empty($_POST["jmeno"]) and !empty($_POST["email"]) and !empty($_POST["text"])) { // tady se pokrečuje ve zpracovávání } else { echo "Nevyplnili jste všechny údaje."; } |
||
fajzen Profil |
#13 · Zasláno: 19. 1. 2010, 22:25:12
keeehi:
and nie end ;-) |
||
Časová prodleva: 13 let
|
0