【发布时间】:2023-04-10 07:08:02
【问题描述】:
我正在编写自己的简单论坛。该论坛没有很多选项,例如表情符号,发布代码,发布图片,发布视频。用户只能将文本作为帖子。
有人建议我使用 HTML Purifier,但我不明白这一点。我相信这个净化器适用于输入具有上述选项的网站(发布视频、图片、代码..等)。我的帖子只包含文字。我在这里寻求一些建议。 htmlspecialchars 和 strip_tags 是否足以保护我的网站?这是我的代码。
// Removing the tags
$post = strip_tags($post);
// This encoding is made in order to prevent the user from making XSS attacks.
// Encoding the user's post...
$post = htmlspecialchars($post);
在我看来,这似乎毫无意义,但由于我没有经验,我不得不征求意见。首先我删除标签,然后我对已经删除标签的帖子进行编码,所以没有什么要编码的)。我这样做是因为我对我网站的安全性感到疯狂。
我的手总是在颤抖,因为在我的脑海中总是怀疑是否有一些领域是脆弱的。我仍然怀疑,即使在使用了这两个 PHP 命令之后,我仍然容易受到 XSS 的攻击。我正在服务器端检查帖子的长度,以防用户编辑了他可以在帖子中放入的最大/最小允许长度。
我正在使用准备好的语句,我正在删除标签,我正在对帖子进行编码以提高安全性.. 我仍然觉得有一个需要填补的漏洞。如果有PHP非常有经验的人,如果我需要做更多的事情,或者一次使用这两个命令没有意义,请给我建议。
【问题讨论】: