This topic created in 2302 days ago, the information mentioned may be changed or developed.
有这么一个需求,限制一个 textarea 输入的 HTML 内容只支持普通字串以及链接( a 标签),其它标签(比如 img iframe embed 等等等)均不允许,JS 或者 PHP 怎样写可以在提交前或者入库的时候过滤掉除 a 标签和正常字串以外的呢?
感觉有点类似 discuz 论坛的个人签名,一些危险 HTML 标签都不支持。
有会的大佬能帮写个正则什么的吗?
帮忙的大佬先祝您佛光保佑,退散恶灵,全家安康。谢谢。
6 replies • 2020-02-10 10:01:09 +08:00
 |
|
1
loadinger Feb 7, 2020 1
好像有个 strip_tags 之类的方法吧 ,默认是所有 html 标签都过滤了,好像有第二个还是第三个参数可以带不过滤的白名单标签。 如果不过滤,就会存在 css javascript 的安全性问题吧。
|
 |
|
4
ClericPy Feb 7, 2020 1
提交前检验只能防君子不能防小人(模拟个请求就绕过去了) 后端简单的做个定向 escape 就好了, 不过我后端是 Python 的, 先解析 dom 然后拿到定向的几个节点强制 escape 就完事了
|
 |
|
5
hantsy Feb 7, 2020 1
提交的只是 HTML 内容而已,真正控制显示才是重要。现在一般的框架由于安全考虑都不允许显示 HTML 内容,会直接 Escape。
|