0

好的,所以我有一个网站,您可以在其中向某个网页发表评论。然后,当用户单击提交按钮时,评论将回显到网页上。唯一的问题是我的网站根本不安全。通过在文本字段中输入一些简单的代码来提交评论,我能够搞砸自己的网站。例如,我会输入

       <script>alert("Test")</script> 

进入评论框并提交该评论。当这条评论被提交到我的网站时,任何访问这个网页的用户都会弹出一个警告框,上面写着“测试”。我怎样才能稍微保护我的网站,以便如果有人输入其中一些代码,它只会正常显示。例如,如果有人在我的网站上留下该评论,那么我的网站将只显示该评论,而不实际运行用户在文本字段中键入的代码。我知道 100% 保护网站非常困难,但我想稍微保护我的网站,以免它完全易受攻击。

4

3 回答 3

0

这个特定的错误可以通过htmlentities.

于 2013-06-19T03:47:08.260 回答
0

http://php.net/manual/en/function.htmlentities.php

应该做的伎俩。尽管有几种方法可以防止这种情况发生。

于 2013-06-19T03:48:44.463 回答
0

允许将 javascript 或 html 上传到您的网站是一个很大的安全漏洞。您应该在处理评论时删除标签。您应该只在从表单接收输入数据的函数上执行此操作。要删除标签,您可以使用 php 函数 strip_tags() ,如下所示:

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>
于 2013-06-19T03:51:39.460 回答