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