位置: 编程技术 - 正文

YII Framework框架教程之安全方案详解(yii框架教程)

编辑:rootadmin

推荐整理分享YII Framework框架教程之安全方案详解(yii框架教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yii2框架的优缺点,yii2框架的优缺点,yii2框架结构,yii2框架运行原理,yii2框架,yii2框架的优缺点,yii2框架运行原理,yii框架教程,内容如对您有帮助,希望把文章链接给更多的朋友!

本文讲述了YII Framework框架的安全方案。分享给大家供大家参考,具体如下:

web应用的安全问题是很重要的,在“黑客”盛行的年代,你的网站可能明天都遭受着攻击,为了从某种程度上防止被攻击,YII提供了防止攻击的几种解决方案。当然这里讲的安全是片面的,但是值得一看。

官方提供的解决方案有:如下

1. 跨站脚本攻击的防范

跨站脚本攻击(简称 XSS),即web应用从用户收集用户数据。 攻击者常常向易受攻击的web应用注入JavaScript,VBScript,ActiveX,HTML或 Flash来迷惑访问者以收集访问者的信息。 举个例子,一个未经良好设计的论坛系统可能不经检查就显示用户所输入的内容。 攻击者可以在帖子内容中注入一段恶意的JavaScript代码。 这样,当其他访客在阅读这个帖子的时候,这些JavaScript代码就可以在访客的电脑上运行了。

一个防范XSS攻击的最重要的措施之一就是:在显示用户输入的内容之前进行内容检查。 比如,你可以对内容中的HTML进行转义处理。但是在某些情况下这种方法就不可取了,因为这种方法禁用了所有的HTML标签。

Yii集成了HTMLPurifier并且为开发者提供了一个很有用的组件CHtmlPurifier, 这个组件封装了HTMLPurifier类。它可以将通过有效的审查、安全和白名单功能来把所审核的内容中的所有的恶意代码清除掉,并且确保过滤之后的内容过滤符合标准。

CHtmlPurifier组件可以作为一个widget或者filter来使用。 当作为一个widget来使用的时候,CHtmlPurifier可以对在视图中显示的内容进行安全过滤。 以下是代码示例:

2. 跨站请求伪造攻击的防范

跨站请求伪造(简称CSRF)攻击,即攻击者在用户浏览器在访问恶意网站的时候,让用户的浏览器向一个受信任的网站发起攻击者指定的请求。 举个例子,一个恶意网站有一个图片,这个图片的src地址指向一个银行网站: 如果用户在登陆银行的网站之后访问了这个恶意网页,那么用户的浏览器会向银行网站发送一个指令,这个指令的内容可能是“向攻击者的帐号转账元”。 跨站攻击方式利用用户信任的某个特定网站,而CSRF攻击正相反,它利用用户在某个网站中的特定用户身份。

要防范CSRF攻击,必须谨记一条:GET请求只允许检索数据而不能修改服务器上的任何数据。 而POST请求应当含有一些可以被服务器识别的随机数值,用来保证表单数据的来源和运行结果发送的去向是相同的。

Yii实现了一个CSRF防范机制,用来帮助防范基于POST的攻击。 这个机制的核心就是在cookie中设定一个随机数据,然后把它同表单提交的POST数据中的相应值进行比较。

默认情况下,CSRF防范是禁用的。如果你要启用它,可以编辑应用配置 中的组件中的CHttpRequest部分。

YII Framework框架教程之安全方案详解(yii框架教程)

代码示例:

要显示一个表单,请使用CHtml::form而不要自己写HTML代码。因为CHtml::form可以自动地在表单中嵌入一个隐藏项,这个隐藏项储存着验证所需的随机数据,这些数据可在表单提交的时候发送到服务器进行验证。

3. Cookie攻击的防范

保护cookie免受攻击是非常重要的。因为session ID通常存储在Cookie中。 如果攻击者窃取到了一个有效的session ID,他就可以使用这个session ID对应的session信息。

这里有几条防范对策:

您可以使用SSL来产生一个安全通道,并且只通过HTTPS连接来传送验证cookie。这样攻击者是无法解密所传送的cookie的。

设置cookie的过期时间,对所有的cookie和seesion令牌也这样做。这样可以减少被攻击的机会。

防范跨站代码攻击,因为它可以在用户的浏览器触发任意代码,这些代码可能会泄露用户的cookie。

在cookie有变动的时候验证cookie的内容。

Yii实现了一个cookie验证机制,可以防止cookie被修改。启用之后可以对cookie的值进行HMAC检查。

Cookie验证在默认情况下是禁用的。如果你要启用它,可以编辑应用配置 中的组件中的CHttpRequest部分。

代码示例:

一定要使用经过Yii验证过的cookie数据。使用Yii内置的cookies组件来进行cookie操作,不要使用$_COOKIES。

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

YII Framework框架教程之缓存用法详解 本文实例讲述了YIIFramework框架缓存用法。分享给大家供大家参考,具体如下:缓存的产生原因众所周知。于是YII作为一个高效,好用的框架,不能不支

YII Framework框架教程之国际化实现方法 本文讲述了YIIFramework框架教程之国际化实现方法。分享给大家供大家参考,具体如下:一个web应用,发布到互联网,就是面向全球用户。用户在世界的

ThinkPHP框架安全实现分析 ThinkPHP框架是国内比较流行的PHP框架之一,虽然跟国外的那些个框架没法比,但优点在于,恩,中文手册很全面。最近研究SQL注入,之前用TP框架的时候

标签: yii框架教程

本文链接地址:https://www.jiuchutong.com/biancheng/290957.html 转载请保留说明!

上一篇:YII Framework框架教程之日志用法详解(yii框架教程)

下一篇:YII Framework框架教程之缓存用法详解(yii2框架从入门到精通)

  • 应交税费明细科目怎么记账
  • 近三年复合增长是什么意思
  • 分支机构设立当年是否需要就地预缴企业所得税?
  • 土地使用权利
  • 收到营业外收入流水账怎么做账
  • 合并报表盈余公积等于母公司盈余公积
  • 缴纳契约计税依据包含增值税吗
  • 存出资本保证金是金融资产吗
  • 小型微利企业如何计算所得税
  • 增值税免退税计算方法
  • 多出来的费用
  • 审计调整坏账后什么时候回冲分录?
  • 税务系统勾了为什么还能认证?
  • 上月未申报纳税补申报怎么做不会有罚款吗?
  • 冲红发票金额大怎么办
  • 财产清查账务处理步骤
  • 暂估入库企业所得税税率
  • 结算会计和核算会计哪个更好
  • 企业土地未全部使用如何缴纳房产税?
  • 建筑劳务预缴税款后怎么申报
  • 非税收入票据如何打印
  • 未立项进行建设
  • 待认证进项税额借贷方向
  • 大沙丘国家公园在哪里
  • 外贸公司付款方式有几种
  • 其他应收款年末怎么处理
  • 委托境外研发费用加计扣除比例
  • linux阅读pdf
  • PHP:pcntl_setpriority()的用法_PCNTL函数
  • 当月报废的固定资产
  • 长期债券投资业务处理
  • thinkphp隐藏index.php
  • php过滤字符
  • 借入资金用于生产经营
  • 自产产品用于福利账务处理
  • 企业应收是什么意思
  • 新会计准则分录大全
  • 未达到起征点的增值税怎么填写
  • 帝国cms功能
  • 详解PostgreSQL 语法中关键字的添加
  • 其他应收款如何平账
  • 个人社保的缴纳时间
  • 税费计提多了怎么冲减
  • 劳务分包属于人工成本吗
  • 主要业务是生产销售家电
  • 固定资产变卖怎么做账务处理
  • 公对私转账有什么风险
  • 小规模纳税人免税怎么做账
  • 开个人劳务票需要本人去吗
  • 企业年金个人和公司缴费比例
  • 房租预付款会计分录
  • 应交税费进项税额转出期末怎么结转
  • 公司注销应收账款如何转让给第三方
  • 暂估入账错误了怎么办
  • 公益性捐赠全额扣除,企业所得税
  • 企业承担个人所得税分录怎么做
  • 技术支持费用属于什么费用
  • ubuntu系统启动过程
  • linux中apt-get和yum
  • win8系统磁盘清理在哪里
  • windows createfile
  • winxp如何将桌面文件默认到d盘
  • realmon.exe - realmon是什么进程 有什么用
  • windows8怎么设置开机密码
  • linux安装的命令是啥
  • jQuery实现别踩白块儿网页版小游戏
  • 批处理在windows中的典型应用
  • linux shell函数
  • 范冰冰魔范学院杂志可爱公主风
  • JavaScript中Number.NEGATIVE_INFINITY值的使用详解
  • js怎么设置css
  • python saga
  • android 自定义linearlayout 宽度计算不对
  • 惠州市房产交易税费征收标准
  • 深圳国税电子税务局官网
  • 棚户区改造的房子和商品房有什么区别
  • 专利证书印花税怎么计算
  • 无锡国税电子发票怎么开
  • 湖北国税发票手机查询
  • 船舶吨税的税收优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设