0

我使用 jQuery redactorjs 作为我的表单,让我的用户输入格式化的漂亮文本。但是在浏览了 stackoverflow 之后,我从用户那里找到了一些我永远不应该接受预格式化输入的答案。这是问题链接

我希望我的网站是安全的,那么如果我使用这个 jquery 插件,这会降低我的网站的安全性吗?

4

2 回答 2

0

接受来自客户端的任何 html 输入是不安全的。即使 jQuery 插件不允许用户制作XSS,修改客户端运行的代码也很容易。

您应该接受来自用户的输入,例如 markdown(例如 StackOverflow 所做的那样),或者使用一组仔细列入白名单的 HTML 标记和属性(确保生成有效的 HTML 作为输出)。不过,要纠正这是一件非常困难的事情,最好使用经过充分验证的库来实现最佳安全性。

于 2012-06-24T06:04:23.513 回答
0

您所指的链接是关于 sql injection 的。这里的重点是您不能使用客户端库来防止有害输入。但是,您使用库让用户输入格式化的文本,这完全没问题。

无论您在客户端使用哪种库,您需要做的是验证您在服务器端获得的输入。您必须承认恶意用户在技术上能够绕过您在客户端拥有的所有库并将他喜欢的任何内容发送到您的服务器,因此服务器必须验证所有输入以防止 sql 注入攻击等。

于 2012-06-24T15:16:33.400 回答