Ne, ilija je objasnio JS varijantu, ovo je sve server side (php only
.
Dakle, php generise neki random string i generise ga unutar forme kao vrednost hidden polja tipa:
Kôd:
<input type="hidden" name="protect_form" value="2f2hfgvjgj" />
a takodje ga ubaci u sesiju kako bi mogao posle da imas sa cime da poredis ($_POST['protect_form'] sa $_SESSION['protect_form']). Takodje, slicno mozes sa vremenom, generises neki timestamp prilikom ucitavanja forme, pa posle proveravas koliko je sec proslo.
Inace, ovaj feature je breakable, ali mnogo toga treba odraditi od strane spamera:
- treba da ucita prvo formu
- parsuje to polje sa reg_expom da bi iscupao taj hidden field
- posalje post request, uz snimanje cookia (posto su uz ceo proces ukljucene sesije
Dakle, otarasio si se 90% spamera