輸入值/表單提交參數(shù)過濾有效防止sql注入的方法
更新時間:2013年12月25日 15:10:00 作者:
輸入值/表單提交參數(shù)過濾可以有效防止sql注入或非法攻擊,下面為大家介紹些不錯的方法,感興趣的不要錯過
輸入值/表單提交參數(shù)過濾,防止sql注入或非法攻擊的方法:
/**
* 過濾sql與php文件操作的關(guān)鍵字
* @param string $string
* @return string
* @author zyb <zyb_icanplay@163.com>
*/
private function filter_keyword( $string ) {
$keyword = 'select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile';
$arr = explode( '|', $keyword );
$result = str_ireplace( $arr, '', $string );
return $result;
}
/**
* 檢查輸入的數(shù)字是否合法,合法返回對應(yīng)id,否則返回false
* @param integer $id
* @return mixed
* @author zyb <zyb_icanplay@163.com>
*/
protected function check_id( $id ) {
$result = false;
if ( $id !== '' && !is_null( $id ) ) {
$var = $this->filter_keyword( $id ); // 過濾sql與php文件操作的關(guān)鍵字
if ( $var !== '' && !is_null( $var ) && is_numeric( $var ) ) {
$result = intval( $var );
}
}
return $result;
}
/**
* 檢查輸入的字符是否合法,合法返回對應(yīng)id,否則返回false
* @param string $string
* @return mixed
* @author zyb <zyb_icanplay@163.com>
*/
protected function check_str( $string ) {
$result = false;
$var = $this->filter_keyword( $string ); // 過濾sql與php文件操作的關(guān)鍵字
if ( !empty( $var ) ) {
if ( !get_magic_quotes_gpc() ) { // 判斷magic_quotes_gpc是否為打開
$var = addslashes( $string ); // 進(jìn)行magic_quotes_gpc沒有打開的情況對提交數(shù)據(jù)的過濾
}
//$var = str_replace( "_", "\_", $var ); // 把 '_'過濾掉
$var = str_replace( "%", "\%", $var ); // 把 '%'過濾掉
$var = nl2br( $var ); // 回車轉(zhuǎn)換
$var = htmlspecialchars( $var ); // html標(biāo)記轉(zhuǎn)換
$result = $var;
}
return $result;
}
復(fù)制代碼 代碼如下:
/**
* 過濾sql與php文件操作的關(guān)鍵字
* @param string $string
* @return string
* @author zyb <zyb_icanplay@163.com>
*/
private function filter_keyword( $string ) {
$keyword = 'select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile';
$arr = explode( '|', $keyword );
$result = str_ireplace( $arr, '', $string );
return $result;
}
/**
* 檢查輸入的數(shù)字是否合法,合法返回對應(yīng)id,否則返回false
* @param integer $id
* @return mixed
* @author zyb <zyb_icanplay@163.com>
*/
protected function check_id( $id ) {
$result = false;
if ( $id !== '' && !is_null( $id ) ) {
$var = $this->filter_keyword( $id ); // 過濾sql與php文件操作的關(guān)鍵字
if ( $var !== '' && !is_null( $var ) && is_numeric( $var ) ) {
$result = intval( $var );
}
}
return $result;
}
/**
* 檢查輸入的字符是否合法,合法返回對應(yīng)id,否則返回false
* @param string $string
* @return mixed
* @author zyb <zyb_icanplay@163.com>
*/
protected function check_str( $string ) {
$result = false;
$var = $this->filter_keyword( $string ); // 過濾sql與php文件操作的關(guān)鍵字
if ( !empty( $var ) ) {
if ( !get_magic_quotes_gpc() ) { // 判斷magic_quotes_gpc是否為打開
$var = addslashes( $string ); // 進(jìn)行magic_quotes_gpc沒有打開的情況對提交數(shù)據(jù)的過濾
}
//$var = str_replace( "_", "\_", $var ); // 把 '_'過濾掉
$var = str_replace( "%", "\%", $var ); // 把 '%'過濾掉
$var = nl2br( $var ); // 回車轉(zhuǎn)換
$var = htmlspecialchars( $var ); // html標(biāo)記轉(zhuǎn)換
$result = $var;
}
return $result;
}
相關(guān)文章
PHP GD 圖像處理組件的常用函數(shù)總結(jié)
如今,在互聯(lián)網(wǎng)上,很多網(wǎng)站都要處理大量圖片,比如:頭像、上傳的圖片做縮略圖加水印等等。他們需要服務(wù)端的大量圖片處理,一門好的服務(wù)端語言環(huán)境一定要有對圖像處理的支持。2010-04-04攻克CakePHP系列一 連接MySQL數(shù)據(jù)庫
請先參閱以前寫的文章以便對CakePHP有所了解文章,上一篇2008-10-10使用NetBeans + Xdebug調(diào)試PHP程序的方法
前些天發(fā)現(xiàn)通過Notepad++的DBGP插件結(jié)合PHP的xdebug擴(kuò)展可以實(shí)現(xiàn)PHP文件調(diào)試,同時,介紹說包含了單步調(diào)試、監(jiān)視變量還有跨文件調(diào)試。2011-04-04PHP中加密解密函數(shù)與DES加密解密實(shí)例
這篇文章主要介紹了PHP中加密解密函數(shù)與DES加密解密,以實(shí)例形式分析了常用的PHP加密解密算法encrypt與DES加密解密的原理及應(yīng)用方法,非常具有實(shí)用價值,需要的朋友可以參考下2014-10-10php中用date函數(shù)獲取當(dāng)前時間有誤的解決辦法
以下是對php中用date函數(shù)獲取當(dāng)前時間有誤的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08