Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O robô consegue ler o CSS referente a isso ?
.hidden {
display:none;
visibility:hidden;
}
<input type="text" name="name" >
<input type="text" name="spam" class="hidden">
if(isset($_POST['name'] {
if(isset($_POST['spam']) && !empty($_POST['spam'])) {
die();
}
echo 'Enviado !';
}Cara, eu faria assim:
<input type="text" name="name_real" >
<input type="text" name="name" class="hidden">E ai se vier o "name", eu sei q é o robô.Eu usaria um input[name], mais "comum", pois alguns robôs podem apenas pesquisar coisas expecíficas, preenchendo só o que ele acha q vai ir.
Se você chamasse de "spam", esse robô passaria direto ignorando esse cara "estranho".
A não ser que seja um crawler que utilize um browser headless para capturas, duvido que algum robo enxergue isso.
Eu uso uma técnica semelhante. E os resultados são de quase 100% de eficiência.
Ale'm do campo input oculto por CSS, uso um campo input hidden. Um humano não deve preencher nenhum dos dois.
Falei mais sobre isso neste tópico