1

我很好奇,有问题的页面受密码保护,但它让我思考。我正在使用 Wymeditor J-Query 插件进行实验,它运行良好,并通过自动将尖括号转换为 html 字符等来处理 XSS 脚本尝试。

显然,通过直接访问,用户可以禁用 javascript,然后将任何形式的恶意标签插入数据库。但是我想知道如果自动脚本设法获得密码保护,是否有可能禁用javascript,从而将恶意脚本插入数据库,然后当数据库信息显示在另一个页面上时运行这些脚本?

* 更新 *

我可能应该扩大一点。我通常会使用 strip_tags() 并使用准备好的语句,但是如果 Wymeditor 对客户端有任何用处,那么我就不能使用 strip_tags()。我知道我可以编写一些代码来删除任何看起来有恶意的内容,但我不确定我会寻找多少恶意内容,我假设 XSS 攻击比<脚本>做坏事<脚本>类型的东西要多样化得多.

4

2 回答 2

5

规则 #1:永远不要相信用户数据

推论:来自客户端的任何东西都是用户数据,无论您的页面采取什么浏览器内措施(自动化脚本可能根本没有运行 JS,或者可能注入页面上不存在的表单字段)。

因此,虽然 JS 编辑器不会降低网站安全性,但它也不会提供任何额外的安全性:客户端措施(例如 JS 输入过滤)只是为了方便用户并提供完全零保护;无论客户端如何,您都需要在服务器端清理用户输入

于 2012-10-25T13:17:13.653 回答
1

你应该check your data upon insert进入数据库......没有客户端脚本可以保护你。Wymeditor 可以使输入更容易并且可以提供很多帮助,但它不会保护您免受某些黑客试图插入的恶意代码的侵害。所以你必须做一个强大的服务器端检查。

于 2012-10-25T13:18:06.847 回答