位置: 编程技术 - 正文

Yii2的XSS攻击防范策略分析(xss攻击解决方案)

编辑:rootadmin

推荐整理分享Yii2的XSS攻击防范策略分析(xss攻击解决方案),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:xss攻击怎么防范,xss攻击能达到怎样的一种效果,xss攻击能达到怎样的一种效果,xss攻击怎么防范,xss攻击能达到怎样的一种效果,xss攻击防御,xss起到防御的方案,xss攻击防御,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了Yii2的XSS攻击防范策略。分享给大家供大家参考,具体如下:

XSS 漏洞修复

原则: 不相信客户输入的数据注意: 攻击代码不一定在<script></script>中

① 将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了.② 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。③ 对数据进行Html Encode 处理④ 过滤或移除特殊的Html标签, 例如: script, iframe , < for <, > for >, " for⑤ 过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。

Yii中的XSS防范

此方法的源码:

htmlspecialchars & htmlentities & urlencode 三者的区别:

flags constantsConstant Name DescriptionENT_COMPAT Will convert double-quotes and leave single-quotes alone.ENT_QUOTES Will convert both double and single quotes.ENT_NOQUOTES Will leave both double and single quotes unconverted.ENT_IGNORE Silently discard invalid code unit sequences instead of returning an empty string. Using this flag is discouraged as it » may have security implications.ENT_SUBSTITUTE Replace invalid code unit sequences with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; (otherwise) instead of returning an empty string.ENT_DISALLOWED Replace invalid code points for the given document type with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; (otherwise) instead of leaving them as is. This may be useful, for instance, to ensure the well-formedness of XML documents with embedded external content.ENT_HTML Handle code as HTML 4..ENT_XML1 Handle code as XML 1.ENT_XHTML Handle code as XHTML.ENT_HTML5 Handle code as HTML 5.

htmlspecialchars

Yii2的XSS攻击防范策略分析(xss攻击解决方案)

Convert special characters to HTML entities

The translations performed are:

& (ampersand) becomes &" (double quote) becomes " when ENT_NOQUOTES is not set.' (single quote) becomes &#; (or ') only when ENT_QUOTES is set.< (less than) becomes <> (greater than) becomes >

htmlentities

Convert all applicable characters to HTML entities

urlencode

URL 编码是为了符合url的规范。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。

例如在baidu中搜索"测试汉字"。 URL会变成 把所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+) 此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC 编码(参见 rawurlencode())不同。

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

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

Yii2基于Ajax自动获取表单数据的方法 本文实例讲述了Yii2基于Ajax自动获取表单数据的方法。分享给大家供大家参考,具体如下:这里有两张表,表结构如下,locations表存放的省份和邮编等信

Yii2实现上下联动下拉框功能的方法 本文实例讲述了Yii2实现上下联动下拉框功能的方法。分享给大家供大家参考,具体如下:首先我先解释下什么是上下联动的下拉框假如一个view里面有两

Yii2实现同时搜索多个字段的方法 本文实例讲述了Yii2实现同时搜索多个字段的方法。分享给大家供大家参考,具体如下:Yii2中搜索字段是用的andFilterWhere这个方法,用它可以搜索一个一

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

上一篇:PHP通过加锁实现并发情况下抢码功能(php常用加密方式)

下一篇:Yii2基于Ajax自动获取表单数据的方法(ajax自动带cookie)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

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

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络