我在表单中使用jQuery redactorjs让我的用户输入格式化的漂亮文本。但在浏览stackoverflow之后,我发现用户的一些答案我不应该接受预先格式化的输入。这是问题link。
我希望我的网站安全,如果我使用这个jquery插件,这会让我的网站安全性降低吗?
答案 0 :(得分:0)
接受来自客户端的任何html输入并不安全。即使jQuery插件不允许用户编写XSS,也很容易修改客户端运行的代码。
您应该接受来自用户的输入,例如markdown(例如StackOverflow)或者使用一组精心列入白名单的HTML标记和属性(确保生成有效的HTML作为输出)。尽管如此,这是非常困难的事情,最好使用经过充分验证的库来实现最佳安全性。
答案 1 :(得分:0)
您要引用的链接是关于sql注入的。这里的要点是您不能使用客户端库来防止有害输入。但是,您使用库让用户输入格式化文本,这是完全正常的。
无论您在客户端使用哪种库,您需要做的是验证您在服务器端获得的输入。您必须承认恶意用户在技术上能够绕过您在客户端的所有库并将他喜欢的任何内容发送到您的服务器,因此服务器必须验证所有输入以防止SQL注入攻击等。