Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 隐藏令牌字段是否不安全?_Php_Forms_Token - Fatal编程技术网

Php 隐藏令牌字段是否不安全?

Php 隐藏令牌字段是否不安全?,php,forms,token,Php,Forms,Token,我对PHP完全陌生,希望使我的表单更加安全。通过谷歌搜索,我发现我应该在表单中插入一个隐藏字段,就像这样一般来说,表单中的令牌用于防止攻击。 不,这不是不安全的,因为唯一能看到令牌的用户就是使用它的用户 不,如果您在服务器上创建令牌而不接受用户输入,则不需要对令牌使用htmlentities() 注意:确保令牌已绑定到会话,否则,如果用户A访问其网站,则用户B可能会使用其令牌提交用户A的表单,方法是向表单发送GET/POST请求,并使用预定义的值。表单字段既不是天生安全的,也不是不安全的。当您处

我对PHP完全陌生,希望使我的表单更加安全。通过谷歌搜索,我发现我应该在表单中插入一个隐藏字段,就像这样一般来说,表单中的令牌用于防止攻击。 不,这不是不安全的,因为唯一能看到令牌的用户就是使用它的用户

不,如果您在服务器上创建令牌而不接受用户输入,则不需要对令牌使用htmlentities()


注意:确保令牌已绑定到会话,否则,如果用户A访问其网站,则用户B可能会使用其令牌提交用户A的表单,方法是向表单发送GET/POST请求,并使用预定义的值。

表单字段既不是天生安全的,也不是不安全的。当您处理这些数据时,安全性很重要。你用这些数据做什么?为什么不在输入字段中使用加密?令牌通常是一个常规字符串,因此不需要htmlentities。这仅用于输出到浏览器。@David我只是将其发送到另一个php文件,并在那里验证用户是否正确填写了联系人表单以及令牌是否匹配。如果用户已正确填写表单且令牌匹配,则将发送电子邮件。这是所有方面的注意事项:如果您正在制作一个联系人表单,该表单在表单提交时向某人发送电子邮件,您可能需要添加一个“蜜罐”来同时拒绝/沉默错误。啊,好的,我明白了。我只是在做一个教程,他们用了这个标记。这意味着在我的场景中不需要令牌?我只是做了一个网站(1页),用户只填写一个联系方式。然后由ajax将其发送到我的validation.php文件(如果javascript未关闭)。这里,如果用户正确填写了表单,我将执行服务器端验证。因此,只有在用户可以登录到网站的会话中,csrf才是可能的。因此,对于我的场景,令牌是不必要的。