禁用评论系统中的代码

时间:2014-01-17 06:15:32

标签: javascript html insertion

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

<script><%=Html.Encode(serverSide.DoSomething())%></script>

擦洗是一个热门话题。大多数情况下,最好使用已经准备好的东西,因为这种攻击的变化很多,从scrach开始通常不会给你从现有的libs获得的覆盖范围。例如,请看这个:https://code.google.com/p/google-caja/

答案 1 :(得分:0)

将评论与正则表达式匹配如下:

comment.match(/<script>.+</script>/)

如果匹配,则不要允许。