0

基本上,我的表单中有一个在 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" />
4

3 回答 3

1

而不是文本输入,display:none;你应该使用<input type="hidden" .../>. 像这个自动填充程序不会修改它的值。另一个(并且更安全)的选项是将时间值存储为服务器变量,以便无法修改

于 2012-08-12T09:18:50.983 回答
1

我想知道自动填充程序是否填充隐藏字段?

编辑:通过隐藏我认为你要求这个:

<input type="hidden"...

)

答案是否定的。另外,我会删除该隐藏字段,因为有人可以操纵该值。我宁愿将时间数据存储在会话中,因为它存储在服务器上而不是客户端计算机上。

于 2012-08-12T09:21:09.370 回答
0

即使自动填充填充表单,它也不会可见,因为它是在 CSS 中设置的。如果您希望文本可见,请在 JavaScript 更改/填充输入时更改 CSS 类。您可以同时使用 JavaScript 填充文本和更改 CSS。

于 2012-08-12T09:26:19.617 回答