本文目录一览:
jsp 存储文本编辑器内容到mysql 数据库怎么存
首先,数据库不管你存入什么字符,他都不会拒绝,你用jsp存储特殊字符失败,应该是java的某种机制,不让你存储,肯定不是数据库,或者你把数据库字段类型设置成text型,可能是字符超过字段长度限制的问题。
其次,java字符集,建议前后台和数据库都用utf-8
最后,文本编辑器里,可能存在xss注入漏洞的代码,需要你在存入数据库前进行转义,网上有现成的转义方法,自己查一下xssfilter。务必重视xss漏洞,尤其是系统中,带有富文本编辑功能的系统,很容易被xss攻击。
富文本编辑器怎么做到防注入
只适合在小应用中,并且处理范围非常有限,简单一点就是过滤/转义,在这我就不多说了,其实方法是非常多。我今天主要讲关于架构方面的知识:你google一下,了解下 WAF(Web应用防火墙),主要有两方面的:
软件角度的(推荐):基于nginx的Web应用防火墙/百度的加速了/创新工厂的安全宝......
硬件角度的(不推荐):NGAF
WAF可处理常见的Web安全有:XSS/SQL注入/跨站脚本/shell注入/会话劫持.....
在软件角度,git上面有不少这方面的开源项目,比如:
还有一些付费的云服务:安全宝/加速了......,可以了解下,确实很有意思,并不是简单的过滤转义。
个人认为:这本身属于网站架构方面的内容,是个全局的控制==输入/输出过滤,这要后台和前台保持一致就可以了。
用了富文本,怎么避免xss攻击
后台过滤就可以了。例如script ,input 标签直接replace掉 ,onclick. onxxx 之类也replace掉。只允许图文的html标记和样式存在。
ckeditor会存在xss攻击吗
xss过滤主要是应对传值的时候,防止恶意攻击者往Web页面里插入恶意html代码。这种编辑器入库的根本不需要用xss过滤啊,可以用mysql_escape_string过滤一下入库,然后展示的时候用htmlspecialchars原型输出就可以了。
如何正确防御xss攻击?
1、基于特征的防御。XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同,这就是给XSS漏洞防御带来的困难,不可能以单一特征来概括所有XSS攻击。
传统的XSS防御在进行攻击鉴别时多采用特征匹配方式,主要是针对JavaScript这个关键词进行检索,但是这种鉴别不够灵活,凡是提交的信息中各有JavaScript时,就被硬性的判定为XSS攻击。
2、基于代码修改的防御。Web页面开发者在编写程序时往往会出现一些失误或漏洞,XSS攻击正是利用了失误和漏洞,因此一种比较理想的方法就是通过优化Web应用开发来减少漏洞,避免被攻击:
①用户向服务器上提交的信息要对URL和附带的HTTP头、POST数据等进行查询,对不是规定格式、长度的内容进行过滤。
②实现Session标记、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
③确认接收的内容被妥善的规范化,仅包含最小的、安全的Tag,去掉任何对远程内容的引用,使用HTTP only的cookie。
3、客户端分层防御策略。客户端跨站脚本攻击的分层防御策略是基于独立分配线程和分层防御策略的安全模型。它建立在客户端,这是它与其他模型最大的区别。之所以客户端安全性如此重要,客户端在接受服务器信息,选择性的执行相关内容。这样就可以使防御XSS攻击变得容易,该模型主要由三大部分组成:
①对每一个网页分配独立线程且分析资源消耗的网页线程分析模块;
②包含分层防御策略四个规则的用户输入分析模块;
③保存互联网上有关XSS恶意网站信息的XSS信息数据库。