【发布时间】:2013-03-28 10:16:11
【问题描述】:
我有一个与娱乐相关的网站。所以,我想到了用一种新的方法来防止 XSS 攻击。我创建了以下单词列表
alert(, javascript, <script>,<script,vbscript,<layer>,
<layer,scriptalert,HTTP-EQUIV,mocha:,<object>,<object,
AllowScriptAccess,text/javascript,<link>, <link,<?php, <?import,
我认为因为我的网站与娱乐有关,所以我不希望普通用户(恶意用户除外)在他的评论中使用这种词。所以,我决定从用户提交的字符串中删除所有上述逗号分隔的单词。我需要你的建议。这样做后我不需要使用类似 htmlpurifier 的工具吗?
注意:我没有使用 htmlspecialchars(),因为它还会转换从我的富文本编辑器 (CKEditor) 生成的标签,因此用户格式化将消失。
【问题讨论】:
-
请不要使用这个。简单的规避方法: 还有很多其他方法。
-
我投票决定将此问题作为离题结束,因为它要求进行代码审查(因此这太宽泛/基于意见)。它可能会被调整为the code review stackexchange 的主题。