这就是使用 PHP 和 Ajax 防止 CSRF 所需要做的全部工作吗?

发布于 2024-12-20 21:51:01 字数 415 浏览 0 评论 0原文

我想确保我正确理解并应用令牌以避免 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

茶花眉 2024-12-27 21:51:01

看起来你做的很好。这就是 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文