比较好用的PHP防注入漏洞过滤函数代码


Posted in PHP onApril 11, 2012
<?PHP 
//PHP整站防注入程序,需要在公共文件中require_once本文件 
//判断magic_quotes_gpc状态 
if (@get_magic_quotes_gpc ()) { 
$_GET = sec ( $_GET ); 
$_POST = sec ( $_POST ); 
$_COOKIE = sec ( $_COOKIE ); 
$_FILES = sec ( $_FILES ); 
} 
$_SERVER = sec ( $_SERVER ); 
function sec(&$array) { 
//如果是数组,遍历数组,递归调用 
if (is_array ( $array )) { 
foreach ( $array as $k => $v ) { 
$array [$k] = sec ( $v ); 
} 
} else if (is_string ( $array )) { 
//使用addslashes函数来处理 
$array = addslashes ( $array ); 
} else if (is_numeric ( $array )) { 
$array = intval ( $array ); 
} 
return $array; 
} 
//整型过滤函数 
function num_check($id) { 
if (! $id) { 
die ( '参数不能为空!' ); 
} //是否为空的判断 
else if (inject_check ( $id )) { 
die ( '非法参数' ); 
} //注入判断 
else if (! is_numetic ( $id )) { 
die ( '非法参数' ); 
} 
//数字判断 
$id = intval ( $id ); 
//整型化 
return $id; 
} 
//字符过滤函数 
function str_check($str) { 
if (inject_check ( $str )) { 
die ( '非法参数' ); 
} 
//注入判断 
$str = htmlspecialchars ( $str ); 
//转换html 
return $str; 
} 
function search_check($str) { 
$str = str_replace ( "_", "\_", $str ); 
//把"_"过滤掉 
$str = str_replace ( "%", "\%", $str ); 
//把"%"过滤掉 
$str = htmlspecialchars ( $str ); 
//转换html 
return $str; 
} 
//表单过滤函数 
function post_check($str, $min, $max) { 
if (isset ( $min ) && strlen ( $str ) < $min) { 
die ( '最少$min字节' ); 
} else if (isset ( $max ) && strlen ( $str ) > $max) { 
die ( '最多$max字节' ); 
} 
return stripslashes_array ( $str ); 
} 
//防注入函数 
function inject_check($sql_str) { 
return eregi ( 'select|inert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|UNION|into|load_file|outfile', $sql_str ); 
// 3water.com 进行过滤,防注入 
} 
function stripslashes_array(&$array) { 
if (is_array ( $array )) { 
foreach ( $array as $k => $v ) { 
$array [$k] = stripslashes_array ( $v ); 
} 
} else if (is_string ( $array )) { 
$array = stripslashes ( $array ); 
} 
return $array; 
} 
?>
PHP 相关文章推荐
用PHP和ACCESS写聊天室(七)
Oct 09 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
解析php中const与define的应用区别
Jun 18 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
php生成rss类用法实例
Apr 14 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
PHP常用的类封装小结【4个工具类】
Jun 28 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
Apr 09 #PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 #PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 #PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 #PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 #PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 #PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 #PHP
You might like
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
php的debug相关函数用法示例
2016/07/11 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
PyCharm在win10的64位系统安装实例
2017/11/26 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
python3实现高效的端口扫描
2019/08/31 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
Python3获取cookie常用三种方案
2020/10/05 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
竞选班干部演讲稿100字
2014/08/20 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书