这就是使用 PHP 和 Ajax 防止 CSRF 所需要做的全部工作吗?
我想确保我正确理解并应用令牌以避免 CSRF?
我的 jQuery ajax 请求中的数据行:
data:{ Id:getParameterByName("id"), Token:"<?php echo $csfrToken; ?>" },
我的 PHP 检查处理发布数据的文件内部:
if (isset($_SESSION['TOKEN']) && $_SESSION['TOKEN'] == $_POST['Token']) { }
对于 ajax 请求,我还需要做些什么吗?我所做的就是在包含 ajax 请求的页面上创建一个令牌。然后,我将创建的令牌发布到我的 ajax 处理程序页面,然后检查以确保它们相同。还有什么需要做的吗?
I want to make sure I'm understanding and applying the token correctly to avoid CSRF?
My data line in my jQuery ajax request:
data:{ Id:getParameterByName("id"), Token:"<?php echo $csfrToken; ?>" },
My PHP check inside the file that handles the posted data:
if (isset($_SESSION['TOKEN']) && $_SESSION['TOKEN'] == $_POST['Token']) { }
Is there anything else I need to do with an ajax request. All I'm doing is creating a token on the page that contains the ajax request. I then post that created token to my ajax handler page and then check to make sure they are the same. Is there anything else that needs to be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来你做的很好。这就是 Zend Framework 的
Zend_Form_Element_Hash
对表单的处理方式,这也适用于 AJAX 请求。Looks good what you did. That is how Zend Framework's
Zend_Form_Element_Hash
does it for forms and this also applys to AJAX requests.