Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 5. 1. 2012, 20:27:33
Zdravím... mám dotaz ... udlal sem si funkci kterou vždy vkládám stylem <?php echo AntiSpam(); ?> za každý form... ale nějak mi to blbne a rovnou mi to vypíše die(...);
function AntiSpam() { if(isset($_POST['druh_ant_sp'])) { if($_POST['druh_ant_sp'] != "on" or $_POST['prv_ant_sp'] != "") die("zlobivý bot!!"); echo "<INPUT TYPE=\"CHECKBOX\" name=\"prv_ant_sp\" style=\"display: none;\" /><INPUT TYPE=\"CHECKBOX\" name=\"druh_ant_sp\" style=\"display: none;\" checked=\"checked\"/>"; } } |
||
Chamurappi Profil |
#2 · Zasláno: 5. 1. 2012, 20:39:36
Reaguji na Fisaka:
„nějak mi to blbne a rovnou mi to vypíše die“ Takže není těžké uhodnout, že chyba je v té podmínce. Je vyhodnocena kladně v případě, že ta hodnota není "on" , a nebo v případě, že není "" … takže vždy, protože obě hodnoty naráz mít nemůže.
|
||
Fisak Profil |
#3 · Zasláno: 5. 1. 2012, 20:49:47 · Upravil/a: Fisak
Chamurappi:
jsou tam dva rozdílné posty 'druh_ant_sp' a 'prv_ant_sp' takže mají dvě hodnoty.. a to ta první musí mít vždy "" a ta druhá vždy "on" jelikož ta první je unchecked a ta druhá checked... a pokud je to jinak tak se zobrazí die(....); spíš problém je v tom že jsou obě teď undefined takže to si myslím že je problém |
||
Chamurappi Profil |
#4 · Zasláno: 5. 1. 2012, 21:11:19
Reaguji na Fisaka:
Aha, pardon, to jsem přehlédl. Nezaškrtnuté zaškrtávátko se vůbec neodesílá na server. |
||
Fisak Profil |
#5 · Zasláno: 5. 1. 2012, 21:24:43
Chamurappi:
nooo moje myšlenka právě byla ta že boti vždy zaškrtou buď všechny tlačítka nebo žádné... tak právě sem to chtěl udělat takto... |
||
helpik.JPW Profil |
#6 · Zasláno: 5. 1. 2012, 21:37:31
Fisak:
„nooo moje myšlenka právě byla ta že boti vždy zaškrtou buď všechny tlačítka nebo žádné“ Zajímavá myšlenka a účiná být může. Způsobů jsem viděl několik, třeba princip, že se může generovat dvouciferné číslo na pozadí, které se předá ke kontrole odeslání. Trefení se do takové kombinace je asi méně pravděpodobné. Nicméně mě Váš způsob vůbec nenapadl a nemám ho odzkoušen. |
||
Fisak Profil |
#7 · Zasláno: 5. 1. 2012, 21:43:46
helpik.JPW:
„může generovat dvouciferné číslo na pozadí“ také zajímavé ale právě snažím se udělat takový plugin u kterýho stačí aby uživatel vložil <?php AntiSpam(); ?> pod <form> kde chce mít antispamovou ochranu a právě ta se mu tam automaticky zařídila... bohužel se mi to ještě nepodařilo sprovoznit.. |
||
jenikkozak Profil |
#8 · Zasláno: 5. 1. 2012, 21:47:32
Fisak:
„Zdravím... mám dotaz ... udlal sem si funkci kterou vždy vkládám stylem <?php echo AntiSpam(); ?> za každý form“ Nechápu příliš tu logiku, kdy v jedné funkci je příkaz na vykreslení části formuláře a zároveň na vyhodnocení přijatých dat, ale budiž. Pokud tu funkci používáš za formulářem, jak uvádíš, hodnoty se neodesílají, to by musely být uvedeny uvnitř formuláře. |
||
Časová prodleva: 12 let
|
0