yii过滤xss代码,防止sql注入
作者:白狼 出处:www.manks.top/article/yii2_filter_xss_code_or_safe_to_database
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
实际开发中,涉及到的语言也好,框架也罢,web安全问题总是不可避免要考虑在内的,潜意识中的考虑。
意思就是说喃,有一条河,河很深,在没办法游过去的情况下你只能沿着河上唯一的一座桥走过去。
好啦,我们看看在yii框架的不同版本中是怎么处理xss攻击,sql注入等问题的。
啥啥啥,xss是啥,sql注入又是啥?哦我的天呐,不好意思,我也不知道,这个您问问小度小哥都行,随您。
通俗的说喃,就是两个原则问题:
1、表单提交内容,想安全的存入数据库
2、想安全的对数据进行输出
有同学疑问来了,我的数据都安全的存到数据库了,都已经是安全的了,咋输出还要过滤呢?博主si是si犯浑,有毛病勒。
不着急,我们先来看看yii中是怎么处理我们所说的安全问题。
无论是yii还是yii2版本,数据查询,数据入库,我们都可以很好的用AR操作进行,这样就灰常简单的避免了sql注入问题,为啥就so easy的避免了呢,这是因为在AR的底层,其实对PDO进行的封装,所以喃,妈妈再也不用担心注入的问题了
有同学在嘀咕了,我们查询的sql很复杂的,用yii的AR操作不了,不写sql不行,你看着办吧。吓唬小孩呢,还有操作不了的,头一次见!
当然啦,在不涉及接收参数的情况下,要不要用原生sql您随意,但是涉及外参的情况下,您要是想用sql查询请尽量用占位去操作,不是不相信您自己个的"过滤",其实也是不敢相信
,如果您坚持自己个写原生sql,您随意好吧
下面我们来看看问题2,数据安全的输出,这个在yii和yii2中还是有一丁点差别滴。
yii中,纯文本输出呢,很简单,我们对要输出的内容CHtml::encode()即可,别嚷嚷,我知道你想说啥,对于想输出html文本,可以采用如下方式:
$purifier = new CHtmlPurifier;echo $purifier->purify($content);
放心,代码里面的js啥的统统会以文本的形式输出显示,那这里的xss问题我们也就可以放心了。
那要是yii2,又是怎样处理的喃?
<?= \yii\helpers\Html::encode($title) //纯文本 ?>
<?= \yii\helpers\HtmlPurifier::process($content) //html显示的文本 ?>
注意: HtmlPurifier 帮助类的处理过程较为费时,建议增加缓存
yii过滤xss代码,防止sql注入的更多相关文章
- 过滤xss攻击和sql注入函数
/**+----------------------------------------------------------* The goal of this function is to be a ...
- ASP.NET MVC 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁
在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检 ...
- AOP实践—ASP.NET MVC5 使用Filter过滤Action参数防止sql注入,让你代码安全简洁
在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检 ...
- 最新版SEMCMS_PHP_3.5 过滤不严导致sql注入
一.漏洞分析 在分析过程中看到网上已经有人发现semcms V2.4存在过滤不严导致sql注入的漏洞,不知道咋还没改,而且最新版过滤的关键字更少了. 首先查看首页文件index.php的代码 < ...
- Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。
Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说... root@xi4ojin:~# cd ...
- ecshop 全系列版本网站漏洞 远程代码执行sql注入漏洞
ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0.3.6.4.0版本都受此次ecshop漏洞的影响,主要漏洞是利用远程代码 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- DEDECMS数据库执行原理、CMS代码层SQL注入防御思路
我们在上一篇文章中学习了DEDECMS的模板标签.模板解析原理,以及通过对模板核心类的Hook Patch来对模板的解析流量的攻击模式检测,达到修复模板类代码执行漏洞的目的 http://www.cn ...
随机推荐
- 【要什么自行车】ASP.NET MVC4笔记01:Asp.net MVC 分页,采用 MvcPager 和CYQ.Data来分页
Control: ) { ; ; using (MAction action = new MAction("brain")) { MDataTable table = action ...
- Oracle命名规范
1.编写目的 使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读.理解和继承. 2.适用范围 本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作. 3.对象 ...
- Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
最近下载一个新版本的adt-bundle,Android API是20. 把Plain Text控件往布局上面拖时,发现拖不上去,出现了下面的错误: Exception raised during r ...
- 图说hibernate注释--xml里配置参数(一)
****************************************************************************************[来自我另一博文]
- 安卓actionbar源码
安卓actionbar源码,该源码转载源码天堂android源码频道的,Actionbar是一个标识应用程序和用户位置的窗口功能.源码我也上传到源码天堂了,大家也可以去那边下载就行了. 本地:源码源码 ...
- Oracle数据库,模糊查询、去重查询
分组去重查询,并执行某一个函数 :select 分组字段,聚合函数 from 表名 where 条件 group by分组字段 select 分组字段,聚合函数 from 表名 where 条件 g ...
- ANDROID 应用退出
在android中finish()和system(0)都只能退出单个activity.杀进程等的等方式都不行~~~解决问题: 在针对 多activity中退出整个程序,例如从A->B->C ...
- TestNG官方文档中文版(4)-运行TestNG
4 - 运行TestNG TestNG可以以不同的方式调用: * Command line * ant * Eclipse * IntelliJ's IDEA 1) 命令行 假 ...
- 初识windows程序需要了解的知识点
初识一件事物我们会有陌生,我们慢慢地去了解它就会懂,让我带你们一起了解吧. 一.Form是.Net Framework 定义好的一个最基本的窗体类,具有窗体基本属性和方法 属性 ...
- jQuery Tocify 定位导航
Tocify是一个jQuery插件,能够动态的生成文章目录,Tocify可以随意的设置Twitter Bootstrap 或者 jQueryUI Themeroller支持的可选动画和jQuery的显 ...