比较好用的PHP防注入漏洞过滤函数代码
2015-01-24信息快讯网
PHP整站防注入程序,需要在公共文件中require_once本文件,因为现在网站被注入攻击现象很严重,所以推荐大家使用
<?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 );
// www.jb51.net 进行过滤,防注入
}
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 使用header函数设置HTTP头的示例解析 表头
基于empty函数的输出详解
基于empty函数的判断详解
解析php curl_setopt 函数的相关应用及介绍
sql注入与转义的php函数代码
探讨php中防止SQL注入最好的方法是什么
php防注入,表单提交值转义的实现详解
Php中用PDO查询Mysql来避免SQL注入风险的方法
php中防止SQL注入的最佳解决方法
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
php中数组首字符过滤功能代码
php 对输入信息的进行安全过滤的函数代码
几个有用的php字符串过滤,转换函数代码
PHP得到某段时间区间的时间戳 php定时任务
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
php 的加密函数 md5,crypt,base64_encode 等使用介绍
MySQL的FIND_IN_SET函数使用方法分享
PHP代码网站如何防范SQL注入漏洞攻击建议分享
JS中encodeURIComponent函数用php解码的代码
php explode函数实例代码
PHP中全面阻止SQL注入式攻击分析小结
PHP的SQL注入过程分析
PHP 中检查或过滤IP地址的实现代码
PHP 小心urldecode引发的SQL注入漏洞
PHP与SQL注入攻击防范小技巧
PHP 防注入函数(格式化数据)
过滤掉PHP数组中的重复值的实现代码
php 安全过滤函数代码
PHP开发不能违背的安全规则 过滤用户输入
php通用防注入程序 推荐