Heim >Backend-Entwicklung >PHP-Tutorial >表单验证 - ThinkPHP 表单隐藏 hash 值的原因是什么?

表单验证 - ThinkPHP 表单隐藏 hash 值的原因是什么?

WBOY
WBOYOriginal
2016-06-06 20:42:53955Durchsuche

ThinkPHP 中有些表单会添加一个隐藏的hash值,看手册说是为了防止表单的重复提交等安全防护,请问这里的安全防护指的是什么?

回复内容:

ThinkPHP 中有些表单会添加一个隐藏的hash值,看手册说是为了防止表单的重复提交等安全防护,请问这里的安全防护指的是什么?

这个是为了防止重复提交的,因为有的时候,我们只能允许用户提交一次
具体原理是这样的,首先这个hash值是服务器端生成的,之后保存到session中,用户提交的时候,先判断session中是否存在,如果存在就清除该hash值,下次提交的时候,因为hash值已经无效了,提交就会失败

安全防护应该是指CSRF跨站请求伪造

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn