我有一个提交表单,其中有9个字段,其中6个需要验证,包括一个具有文件大小和文件类型验证的上传字段。
生成随机令牌以防止CSRF攻击是有效的,但在使用令牌时正确的验证方式是什么?
如果我在同一文件中进行验证,则验证重新加载时会重新生成令牌。(这可以预防吗?我已经尝试了isset(),但仍会重新生成。)但是,在同一文件中进行验证会导致用户的名称和电子邮件无法存储在会话中。
最好在单独的文件中进行验证,然后使用基本变量在URL中为每个错误重定向回表单,例如http://www.example.com/form?n=1。
使用单独的文件还意味着在会话中存储表单数据,因此如果重定向存在错误,则可以重新填充表单。
非常感谢您的帮助。
生成随机令牌以防止CSRF攻击是有效的,但在使用令牌时正确的验证方式是什么?
如果我在同一文件中进行验证,则验证重新加载时会重新生成令牌。(这可以预防吗?我已经尝试了isset(),但仍会重新生成。)但是,在同一文件中进行验证会导致用户的名称和电子邮件无法存储在会话中。
最好在单独的文件中进行验证,然后使用基本变量在URL中为每个错误重定向回表单,例如http://www.example.com/form?n=1。
使用单独的文件还意味着在会话中存储表单数据,因此如果重定向存在错误,则可以重新填充表单。
非常感谢您的帮助。
md5(uniqid(rand(), TRUE));
在安全上下文中不应被信任。https://dev59.com/aG015IYBdhLWcg3w9wp1#31683058 - Edward