yii2防止xss攻击的方法:首先定义一个用于防xss攻击的“actionClean”方法;然后在方法体内实现去除特殊字符;最后调用该方法即可。
PHP中常用到的方法有:
推荐:《yii教程》
/* 防sql注入,xss攻击 (1)*/ function actionClean($str) { $str=trim($str); $str=strip_tags($str); $str=stripslashes($str); $str=addslashes($str); $str=rawurldecode($str); $str=quotemeta($str); $str=htmlspecialchars($str); //去除特殊字符 $str=preg_replace("/\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/", "" , $str); $str=preg_replace("/\s/", "", $str);//去除空格、换行符、制表符 return $str; } //防止sql注入。xss攻击(1) public function actionFilterArr($arr) { if(is_array($arr)){ foreach($arr as $k => $v){ $arr[$k] = $this->actionFilterWords($v); } }else{ $arr = $this->actionFilterWords($arr); } return $arr; } //防止xss攻击 public function actionFilterWords($str) { $farr = array( "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", "/select|insert|update|delete|drop|\'|\/\*|\*|\+|\-|\"|\.\.\/|\.\/|union|into|load_file|outfile|dump/is" ); $str = preg_replace($farr,'',$str); return $str; } //防止sql注入,xss攻击(2) public function post_check($post) { if(!get_magic_quotes_gpc()) { foreach($post as $key=>$val){ $post[$key] = addslashes($val); } } foreach($post as $key=>$val){ //把"_"过滤掉 $post[$key] = str_replace("_", "\_", $val); //把"%"过滤掉 $post[$key] = str_replace("%", "\%", $val); //sql注入 $post[$key] = nl2br($val); //转换html $post[$key] = htmlspecialchars($val); //xss攻击 } return $post; }
调用:
(必须放在接收数据之外)
注意:
表单提交值,为防止csrf攻击,控制器中需要加上:
以上是yii2如何防止xss攻击的详细内容。更多信息请关注PHP中文网其他相关文章!

该教程展示了YII框架的时间戳管理。 IT使用TimestampBehavior详细介绍自动创建的_AT和UPDATED_AT更新,提供自定义选项并将其与手动更新,数据库触发器进行比较和自定义BE

本文讨论了在云本地环境中部署YII应用程序的最佳实践,并通过集装,编排和安全措施专注于可扩展性,可靠性和效率。

本文比较了PHP框架YII和Laravel。 YII优先考虑速度和结构,而Laravel则强调开发人员的经验和灵活性。 尽管两者都处理大型应用程序,但YII提供了出色的原始性能,而LA

本文介绍了YII,这是一个高性能的PHP框架,非常适合大规模Web应用程序。 它强调了Yii的速度,安全性和健壮的体系结构(MVC),强调了其优势比Laravel,Symfony和Cod等其他框架的优势

本文分析了YII框架的优势和劣势。 它突出了Yii的高性能,稳健的安全性,快速的开发能力和可扩展性,但也指出了较小的PR的学习曲线和潜在的复杂性

本文比较了YII和ThinkPHP(TP)框架。 选择取决于项目规模和开发人员的经验。 Yii,健壮而成熟,适合大型,复杂的项目,需要高性能。 TP,更简单,更快地开发,更好

本文详细介绍了如何在YII应用程序中调用和组织共同功能。 它主张将功能封装在类中,理想情况下,在专用的应用程序/助手目录中,以提高可重复性和可维护性。 不同的方法

本文讨论了在无服务器体系结构中使用YII的关键注意事项,专注于无状态,冷启动,功能大小,数据库交互,安全性和监视。它还涵盖优化策略和潜在的综合


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境