比較好用的PHP防注入漏洞過(guò)濾函數(shù)代碼
<?PHP
//PHP整站防注入程序,需要在公共文件中require_once本文件
//判斷magic_quotes_gpc狀態(tài)
if (@get_magic_quotes_gpc ()) {
$_GET = sec ( $_GET );
$_POST = sec ( $_POST );
$_COOKIE = sec ( $_COOKIE );
$_FILES = sec ( $_FILES );
}
$_SERVER = sec ( $_SERVER );
function sec(&$array) {
//如果是數(shù)組,遍歷數(shù)組,遞歸調(diào)用
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] = sec ( $v );
}
} else if (is_string ( $array )) {
//使用addslashes函數(shù)來(lái)處理
$array = addslashes ( $array );
} else if (is_numeric ( $array )) {
$array = intval ( $array );
}
return $array;
}
//整型過(guò)濾函數(shù)
function num_check($id) {
if (! $id) {
die ( '參數(shù)不能為空!' );
} //是否為空的判斷
else if (inject_check ( $id )) {
die ( '非法參數(shù)' );
} //注入判斷
else if (! is_numetic ( $id )) {
die ( '非法參數(shù)' );
}
//數(shù)字判斷
$id = intval ( $id );
//整型化
return $id;
}
//字符過(guò)濾函數(shù)
function str_check($str) {
if (inject_check ( $str )) {
die ( '非法參數(shù)' );
}
//注入判斷
$str = htmlspecialchars ( $str );
//轉(zhuǎn)換html
return $str;
}
function search_check($str) {
$str = str_replace ( "_", "\_", $str );
//把"_"過(guò)濾掉
$str = str_replace ( "%", "\%", $str );
//把"%"過(guò)濾掉
$str = htmlspecialchars ( $str );
//轉(zhuǎn)換html
return $str;
}
//表單過(guò)濾函數(shù)
function post_check($str, $min, $max) {
if (isset ( $min ) && strlen ( $str ) < $min) {
die ( '最少$min字節(jié)' );
} else if (isset ( $max ) && strlen ( $str ) > $max) {
die ( '最多$max字節(jié)' );
}
return stripslashes_array ( $str );
}
//防注入函數(shù)
function inject_check($sql_str) {
return eregi ( 'select|inert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|UNION|into|load_file|outfile', $sql_str );
// www.dbjr.com.cn 進(jìn)行過(guò)濾,防注入
}
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中防止SQL注入實(shí)現(xiàn)代碼
- PHP+MySQL 手工注入語(yǔ)句大全 推薦
- PHP防注入安全代碼
- discuz的php防止sql注入函數(shù)
- php+mysql注入頁(yè)面實(shí)現(xiàn)
- 整理php防注入和XSS攻擊通用過(guò)濾
- Php中用PDO查詢Mysql來(lái)避免SQL注入風(fēng)險(xiǎn)的方法
- php中sql注入漏洞示例 sql注入漏洞修復(fù)
- php中addslashes函數(shù)與sql防注入
- php中$_GET與$_POST過(guò)濾sql注入的方法
- php使用exec shell命令注入的方法講解
- PHP針對(duì)偽靜態(tài)的注入總結(jié)【附asp與Python相關(guān)代碼】
相關(guān)文章
利用Fix Rss Feeds插件修復(fù)WordPress的Feed顯示錯(cuò)誤
這篇文章主要介紹了利用Fix Rss Feeds插件修復(fù)WordPress的Feed顯示錯(cuò)誤的方法,需要的朋友可以參考下2015-12-12php驗(yàn)證身份證號(hào)碼正確性的函數(shù)
這篇文章主要為大家分享了兩段php驗(yàn)證身份證號(hào)碼是否正確的函數(shù),感興趣的小伙伴們可以參考一下2016-07-07thinkphp 中的volist標(biāo)簽在ajax操作中的特殊性(推薦)
在一個(gè)ThinkPHP的復(fù)雜頁(yè)面(包含volist)中實(shí)現(xiàn)volist標(biāo)簽顯示Jquery查詢結(jié)果的返回。這篇文章給大家介紹了thinkphp 中的volist標(biāo)簽在ajax操作中的特殊性(推薦),需要的朋友參考下吧2018-01-01thinkphp隱藏index.php/home并允許訪問(wèn)其他模塊的實(shí)現(xiàn)方法
這篇文章主要介紹了thinkphp隱藏index.php/home并允許訪問(wèn)其他模塊的實(shí)現(xiàn)方法,想要達(dá)成的效果很簡(jiǎn)單,我有兩個(gè)模塊,Home、Wechat。具體詳情請(qǐng)參考下本文。感興趣的朋友一起看看吧2016-10-10Laravel5.1 框架模型查詢作用域定義與用法實(shí)例分析
這篇文章主要介紹了Laravel5.1 框架模型查詢作用域定義與用法,結(jié)合實(shí)例形式分析了laravel5.1定義一個(gè)查詢作用域及動(dòng)態(tài)的查詢作用域相關(guān)操作技巧,需要的朋友可以參考下2020-01-01php while循環(huán)控制的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇php while循環(huán)控制的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05php 遍歷目錄,生成目錄下每個(gè)文件的md5值并寫(xiě)入到結(jié)果文件中
本文章向大家介紹php遍歷目錄,生成目錄下每個(gè)文件的md5值并寫(xiě)入到結(jié)果文件中,需要的朋友可以參考下2016-12-12thinkphp5.1框架中容器(Container)和門面(Facade)的實(shí)現(xiàn)方法分析
這篇文章主要介紹了thinkphp5.1框架中容器(Container)和門面(Facade)的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP5.1框架中容器與門面的定義、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-08-08