Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用注释系统中的代码_Javascript_Html_Insertion - Fatal编程技术网

Javascript 禁用注释系统中的代码

Javascript 禁用注释系统中的代码,javascript,html,insertion,Javascript,Html,Insertion,我创建了一个评论系统,人们可以在其中对某个主题进行评论。注释存储在SQL数据库中。现在,为了避免恶意链接,或者将JS/HTML/PHP代码插入到可以执行的注释中。。我如何防止这种情况?假设注释是JS代码。。像 <script> document.DoSomething()</script> document.DoSomething() 我该如何防止这种情况?谢谢。您需要对正在显示的用户输入进行清理和/或编码 下面是一个服务器发送内容如何对其进行编码的示例(这是Micr

我创建了一个评论系统,人们可以在其中对某个主题进行评论。注释存储在SQL数据库中。现在,为了避免恶意链接,或者将JS/HTML/PHP代码插入到可以执行的注释中。。我如何防止这种情况?假设注释是JS代码。。像

<script> document.DoSomething()</script>
document.DoSomething()

我该如何防止这种情况?谢谢。

您需要对正在显示的用户输入进行清理和/或编码

下面是一个服务器发送内容如何对其进行编码的示例(这是Microsoft.NET)



擦洗是一个流行的话题。大多数时候,最好使用已经准备好的东西,因为此类攻击的变体太多,从scrach开始通常无法提供现有LIB的覆盖范围。看看这个例子:

将注释与正则表达式匹配,如下所示:

comment.match(/.+/)


如果存在匹配项,那么就不要允许它。

如果您需要担心的只是javascript,您可以在字段的输入中使用一个脚本来删除
标记,然后运行它。实际上,我使用了htmlspecialchars来过滤它,现在代码就原样了。AnyHREF标记不起作用,php或JS标记也不起作用。它是万无一失的吗?
<script><%=Html.Encode(serverSide.DoSomething())%></script>