分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

PHP 防范xss攻击(转载)

发布时间:2023-09-06 01:22责任编辑:沈小雨关键词:PHP

XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现!

看看常见的恶意字符XSS 输入:

1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<script>alert("XSS");</script>

2.XSS 输入也可能是 HTML 代码段,譬如:

(1).网页不停地刷新 <meta http-equiv="refresh" content="0;">

(2).嵌入其它网站的链接 <iframe src=http://xxxx width=250 height=250></iframe>

 
 ???<?PHP ???/** ????* @blog http://www.phpddt.com ????* @param $string ????* @param $low 安全别级低 ????*/ ???function clean_xss(&$string, $low = False) ???{ ???????if (! is_array ( $string )) ???????{ ???????????$string = trim ( $string ); ???????????$string = strip_tags ( $string ); ???????????$string = htmlspecialchars ( $string ); ???????????if ($low) ???????????{ ???????????????return True; ???????????} ???????????$string = str_replace ( array (‘"‘, "\\", "‘", "/", "..", "../", "./", "//" ), ‘‘, $string ); ???????????$no = ‘/%0[0-8bcef]/‘; ???????????$string = preg_replace ( $no, ‘‘, $string ); ???????????$no = ‘/%1[0-9a-f]/‘; ???????????$string = preg_replace ( $no, ‘‘, $string ); ???????????$no = ‘/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S‘; ???????????$string = preg_replace ( $no, ‘‘, $string ); ???????????return True; ???????} ???????$keys = array_keys ( $string ); ???????foreach ( $keys as $key ) ???????{ ???????????clean_xss ( $string [$key] ); ???????} ???} ???//just a test ???$str = ‘phpddt.com<meta http-equiv="refresh" content="0;">‘; ???clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了 ???echo $str; ????>
 

PHP 防范xss攻击(转载)

原文地址:http://www.cnblogs.com/tomcuper/p/7773271.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved