好的,我有一个网站,您可以在某个网页上发表评论。当用户单击提交按钮时,评论将回显到网页上。唯一的问题是我的网站根本不安全。我通过在文本字段中输入一些简单的代码来提交评论,从而搞砸了我自己的网站。例如,我会输入
<script>alert("Test")</script>
进入评论框并提交该评论。当此评论提交到我的网站时,访问此网页的任何用户都会弹出一个警告框,显示“测试”。如何保护我的网站一点点,以便如果有人输入某些代码,它只是正常显示。例如,如果有人要在我的网站上留下该评论,那么我的网站将只显示该评论而不是实际运行用户在文本字段中输入的代码。我知道确保一个网站100%是相当困难的,但我想保护我的网站一点点,以便它不是完全脆弱。
答案 0 :(得分:0)
此特定错误可以通过htmlentities
转义。
答案 1 :(得分:0)
http://php.net/manual/en/function.htmlentities.php
应该做的伎俩。虽然有几种方法可以阻止这种情况。
答案 2 :(得分: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>');
?>