Autor Zpráva
Budulinek
Profil
Zdravím,

udělal jsem si ochranu proti spamu (myslím, že podobná je tady na diskusi), kdy si vygeneruji určité číslo třeba (jedna-pět), které by měl uživatel napsat číslicí, pokud by měl vypnutý JS. Jinak je to číslo automaticky vyplněno a kontrola schována taktéž pomocí JS.

Teď otázka, jak přenášet ono vygenerované číslo po odeslání formuláře. Napadá mě několik různých možností, ale nejsem si jist, která by byla nejlepší:

1, ukládat ho do nějakého hidden inputu, ať už jako číslo nebo číslovky (přijde mi to takové nedotažené)
2, ukládat ho do session a po odeslání tuto session zrušit (to mi přijde jako kanón na roztoče a navíc se mi nelíbí představa zbytečně generovaných session)
3, ukládat to do cookies s nějakou omezenou dobou platnosti, po odeslání cookie zrušit (asi nejjednodušší a nejpřijatelnější řešení)

Jak to řešíte vy?

Díky za každou radu
Alphard
Profil
Tady na diskusi je myslím 24 (dřív bývalo 4), nemění se (tj. nic se nepřenáší) a stačí to. Můžete to zkusit také, přitvrdit se dá vždycky.
Budulinek
Profil
Alphard
Jo, koukal jsem na to... V podstatě by to šlo. Ještě o tom pouvažuju.

Na druhou stranu by mě stejně zajímalo, jak se tohle dá co nejefektivněji vyřešit.
Alphard
Profil
Budulinek:
Na druhou stranu by mě stejně zajímalo, jak se tohle dá co nejefektivněji vyřešit.
Dal bych to zašifrované od hidden inputu.
Budulinek
Profil
Alphard
No jo, to mě taky mohlo napadnout... Díky za radu!
blizz_boz
Profil
lenže tieto ochrany obtažujú užívateľov... ja som na http://www.ipremiere.eu/ obmedzil možnosť pridávať komentáre bez registrácie, všetkym užívateľom, ktorí majú iný host ako .cz a .sk... takto môžu užívatelia prispievať aj bez registrácie a keď chcú prispievať z inej krajiny ako ČR a SR tak sa musia zaregistrovať.
AM_
Profil
blizz_boz
to imho není moc dobré, spousta třeba malých providerů nemusí mít hostname vůbec(jen IP) nebo třeba s koncovkami .net, .com... pro uživatele v těchto sítích to bude dost otrava, imho napsání dvoumístného ověřovacího čísla je menší zátěž (navíc kdo má dnes vypnutý JavaScript, že...)
blizz_boz
Profil
AM_
a ako sa teda dá zistiť krajina na základe IP?

na nete som našiel len tento návod:

$country = file_get_contents("http://api.hostip.info/country.php?ip={$_SERVER['REMOTE_ADDR']}");


ale nefunguje mi to, môj hosting nepovoluje file_get_contents z iných serverov.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: