gpt4 book ai didi

php - 关于 JavaScript 和安全性

转载 作者:行者123 更新时间:2023-11-28 02:13:24 24 4
gpt4 key购买 nike

我们正在开发一个非常简单的评论系统。系统我们已经做好了,使用PHP和MySQL没有任何问题。

现在,问题是我们需要将这些表单提供给几个不同的网站,甚至同一网站中的不同位置。

此时我们有以下文件:

  • deliver_comm.php:选择与domain_id匹配的所有先前评论

  • ui/deliver_comm.php:上一个文件的 HTML,显示以前的评论以及发送新评论的表单本身。

也就是说,我们想要的是使用 JavaScript 和 document.write 生成 div 和表单,然后表单会将信息发送回我们的服务器,在服务器中信息应由 PHP 脚本处理并存储到数据库。

现在,我们主要关心的是如何验证评论确实来自包含脚本的网站?

我知道应该创建类似 XSRF token 的东西来解决这个问题,但我必须承认,如果我们在逻辑上提供一些帮助,我们将非常感激。

此外,我要提到,表单目前有 2 个隐藏输入,一个用于标识网站(如 domain_id),另一个用于标识该网站的特定部分(如 file_id)。

一些想法:

此时我意识到,由于我们在 HTML 中使用 PHP 变量,因此使用 JavaScript 会很方便,只需生成一个 iframe,将信息放置在其中。

此外,此修改还需要包含 XSRF 预防 token 。通过这样做,我们可以避免来自其他网站的评论吗?我失去了什么吗?

最佳答案

您应该为每个评论“部分”指定一个 ID。我们称之为“comment_post_id”(就像 wordpress 那样)。因此,对于每个评论表单,您应该有一个隐藏的输入,在提交评论时提供 id。由于您确实想在下面显示最近的评论,因此您应该使用 php 或 mysql 检查数据库中是否有匹配的 comment_post_id。

如果您想避免评论功能被利用,您应该使用验证码,因为它们是唯一安全的方法。当然,您可以检查引用者($_SERVER['HTTP_REFERER']),但这不会给您带来实际优势,因为试图利用您的评论系统的人只会过度提供有效的引用者。

关于php - 关于 JavaScript 和安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16747911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com