【发布时间】:2013-06-07 08:51:58
【问题描述】:
我正在建立一个需要接受用户评论的网站, 从我的 home.php 我发送一个 ajax 请求(post),其值为评论文本和元素 id 到 comment.php,它检查会话 id 并将评论保存到数据库, 我最近发现(因为我对网络安全非常陌生),当我的网站在其他选项卡中运行时,我可以从任何网站向这个 comment.php 提交表单(因为会话 ID 将出现)。 为了防止跨站点请求伪造,我使用了以下技术, 在发送 ajax 请求之前,我使用
document.cookie = name+"="+value+expires+"; path=/; ";
在 javascript 中并发送 ajax 请求。
在comment.php 文件中检查会话ID 并比较来自_POST[] 和_COOKIE 的元素ID 值,如果两者相同,我将其视为有效请求并继续。
我的问题是,这是防止跨站点请求伪造的正确方法,还是其中存在任何逻辑漏洞仍可能导致 CSRF 或任何其他漏洞..?
提前谢谢你。
【问题讨论】:
标签: javascript security cookies csrf