Php 如何帮助保护我的网站,防止人们在我的文本字段中编写一些初级代码

Php 如何帮助保护我的网站,防止人们在我的文本字段中编写一些初级代码,php,security,Php,Security,好的,我有一个网站,你可以在那里对某个网页发表评论。然后,当用户单击提交按钮时,这些评论将回荡到网页上。唯一的问题是我的网站根本不安全。我可以通过在文本字段中输入一些简单的代码来提交评论,从而搞乱我自己的网站。例如,我会打字 <script>alert("Test")</script> 警报(“测试”) 进入评论框并提交该评论。当此评论提交到我的网站时,任何访问此网页的用户都会弹出一个警告框,显示“测试”。我怎样才能稍微保护一下我的网站,这样如果有人输

好的,我有一个网站,你可以在那里对某个网页发表评论。然后,当用户单击提交按钮时,这些评论将回荡到网页上。唯一的问题是我的网站根本不安全。我可以通过在文本字段中输入一些简单的代码来提交评论,从而搞乱我自己的网站。例如,我会打字

       <script>alert("Test")</script> 
警报(“测试”)

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

这个特定的错误可以通过。


我们应该做到这一点。尽管有几种方法可以防止这种情况。

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



您要确保正确转义用户输入的任何值。您试图阻止的是调用。可能重复的
echo htmlspecialchars($comment,entu QUOTES)这仍然不安全。攻击者可以提交
Link
nop对不起,“,”会被剥夺,但你是对的,他们可以使用一个链接,这不是最终的解决方案,但这是一个开始
<?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>');
?>