需要允许/禁止js方面的某些某些html标记。 开发一个laravel项目,在某些输入框中需要考虑某些html元素。
可以使用字符串替换功能完成,但需要更多时间来维护不允许的项目列表。如下所示
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
再次允许的html标签列表也可以很小,所以如果只是想允许
那么不安全的清单将是巨大的。
我也可以在服务器端进行,但无法获得任何适当的来源。
如果有人可以建议我维护这个允许/禁止html标记列表的最佳方法,那将会非常有用吗?
答案 0 :(得分:1)
永远不要使用clientide JS来逃避任何事情。攻击者可以轻松阻止JS文件的执行并绕过它。
服务器端prepared statements是您想要的行业标准。
Prepared语句将用户输入视为不可执行的字符串,这些字符串对使用这些输入进行的任何查询都没有影响(即SQL注入)。
答案 1 :(得分:0)