基本上,我的表单中有一个输入字段,在CSS中设置为display: none
,我想知道自动填充程序是否填充隐藏字段?我在加载时将字段的值设置为time(),并将其与提交表单的时间进行比较,以判断用户是人还是机器人。
以下是隐藏字段的代码:
<?php
$loadTime = time(); // Initial time that the page loads is checked against the time the form is submitted and if its too fast, its probably a bot
?>
<input type="text" name="loadTime" id="loadTime" value="<?php echo $loadTime ?>" maxlenght="50" />
答案 0 :(得分:1)
您应该使用display:none;
而不是<input type="hidden" .../>
的文字输入。像这样的自动填充程序不会修改它的值。另一个(更安全)选项是将时间值存储为服务器变量,以便无法修改
答案 1 :(得分:1)
我想知道自动填充程序是否填充隐藏字段?
(编辑:隐藏起来,我以为你要求这个:
<input type="hidden"...
)
答案是否定的。此外,我会删除该隐藏字段,因为有人可以操纵该值。我宁愿将时间数据存储在会话中,因为它存储在服务器而不是客户端的计算机上。
答案 2 :(得分:0)
即使自动填充填充表单,它也不会显示,因为它是在CSS中设置的。如果希望文本可见,请在JavaScript更改/填充输入时更改类CSS。您可以同时使用JavaScript来填充文本和更改CSS。