一般的富文本编辑器比如百度的ueditor,编辑后直接返回一段html代码,为了防止xss,想问问大家如何过滤后入库是比较好的解决方案?(前台读取后直接显示html,比如这个问题本身就是用富文本编辑器提交的)
目前知道可以用:
- 富文本编辑器设置纯文本粘贴(这个可能会造成用户使用不方便,但sf的编辑器好像就是这么做的,超链接倒是保留了)
- 一些类库比如 Kses PHP HTML 过滤类设置要保留的标签和标签属性
大家有什么好的高效的做法吗?
回复内容:
一般的富文本编辑器比如百度的ueditor,编辑后直接返回一段html代码,为了防止xss,想问问大家如何过滤后入库是比较好的解决方案?(前台读取后直接显示html,比如这个问题本身就是用富文本编辑器提交的)
目前知道可以用:
- 富文本编辑器设置纯文本粘贴(这个可能会造成用户使用不方便,但sf的编辑器好像就是这么做的,超链接倒是保留了)
- 一些类库比如 Kses PHP HTML 过滤类设置要保留的标签和标签属性
大家有什么好的高效的做法吗?
纯文本展贴是用来减少无效html代码数量的,在防范XSS方面没有任何作用。客户端的任何JS代码在攻击者面前都是裸的
如果只需要常见的富文本编辑,不需要直接改动html代码,那么可以考虑UBB code
如果必须直接支持html,可以找wordpress/drupal等开源项目的xss过滤器来用
对@帕奇式 的“拿起就用”方案不敢苟同。
如果目的是防XSS,在前端防是防不住的,一定需要在服务端过滤。
例如曾经人人网的日志编辑框使用的是tinymce,前端带了过滤功能(转义大法),于是他们竟然在服务端就没过滤!前端只要把JS禁了,让tinymce加载失败,露出裸的textarea来,就可以随便注入JS代码了。
所以防这个,不管前端防了多严,服务端一定都要再做一次。
狠一点,就把 "" 转义掉。
稍微宽松一点,就把script、iframe等标签去掉。
这个问题的解决办法很简单
有多重方式一种是base64编码解码是一种
基本上就是转义,保持了原样输出,
过滤这块需要这样操作,增加一个方法preg_match url的 凡是不是本站的都替换掉
看了看百度的ueditor,只能说很多东西设计得不够自由和弹性。用关键字【过滤规则】也找不到在哪设置,所以还是建议不要用ueditor因为还不够成熟!
那建议你可以:
- KindEditor拿起就用
- wysihtml5自定义样式,因为这是个内核
基于wysihtml5制作富文本编辑器可以参考这里bootstrap-wysihtml5。
以上两个富文本编辑器都有过滤机制,你可以阅读文档了解一下便知道。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器