富⽂本编辑器数据转义简单⾼效
为什么转义?
起因是在⼯作中,使⽤到了富⽂本编辑器,我们都知道,富⽂本编辑器的数据是包含html标签的,类似如下图:
这时候如果保存数据到后台,就会触发XSS攻击,导致请求失败。
检查完毕,发现是被XSS拦截下来了,什么是XSS攻击呢?这⾥不做过多的解释,XSS的主要攻击是通过在输⼊框内输⼊获取你的服务器的cookie的信息,从⽽登陆你的服务器,达到攻击的⽬的,所以如果被检查为XSS攻击的时候,你可以检查⼀下你的数据是否携带html的标签。
所以为了顺利保存我们的数据,我们需要将数据转义!
转义是什么?
既然我们知道被检查为XSS攻击的原因是携带html标签,那么我们将特殊字符(’、"、 &、 <、 >、 )转换成其他字符代替,那么不就不会被检测为XSS攻击了吗?然后再在后台保存的时候转义回去不就好了吗?这样的逻辑可⾏。
怎么转义?
转义的⽅法有很多,这边主要说⼀下笔者解决的⽅式。
1.数据转义(防⽌XSS攻击)
使⽤的⽅法是Lodash⾥的_.escape()⽅法,需要的⼩伙伴⾃⾏查看哦。
附上
2. 数据转义还原(恢复原来的样⼦)
使⽤的⽅法是_.unescape()⽅法。
⾄此数据的富⽂本编辑器的数据保存的问题已经解决了。
题外话
笔者采⽤的转义⽅式是在前端转义,在前端转义还原,那能不能在前端转义,后端转义还原保存呢?答案是 可以的,但是笔者发现不同⼯具类的转义规则⼤致是⼀样的,但还是有些不同的,所以⼯具类笔者建议还是使⽤同⼀个,这样起码能保证数据前后的⼀致性。(不忙的话点个赞再⾛呗~)
>优秀的富文本编辑器

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。