如果把评论提交的‘<’,‘"’,‘>’,‘&’都转码为&lt;&gt;%22&;&amp;之类的,是不是就可以防止 xxs。

2023 年 9 月 29 日
 huahsiung
博客的评论,如果过滤关键词 script,onerror 等等可能会误判。
‘<’,‘"’,‘>’,‘&’转码为
&lt;&gt;%22;&amp;

感觉转码这四个,应该就稳了。
3397 次点击
所在节点    程序员
8 条回复
vigossliao
2023 年 9 月 29 日
用现成库应该省事多了

https://github.com/leizongmin/js-xss
jsq2627
2023 年 9 月 29 日
agagega
2023 年 9 月 29 日
如果只需要展示纯文本的话,用 innerText 不就行了?
hgc81538
2023 年 9 月 29 日
應該轉碼&<>"'去&amp;&lt;&gt;&quot;&#039;就穩了
ysc3839
2023 年 9 月 29 日
可能不止这几个字符,建议直接使用现成的 html 转义库
rabbbit
2023 年 9 月 29 日
xiangyuecn
2023 年 9 月 29 日
onclick='alert(1)'
xiangyuecn
2023 年 9 月 29 日
不用白名单,直接全部 ASCII 字符除了换行字母数字全部用 &#123; 转义完事

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/978163

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX