php判斷文件上傳類型及過濾不安全數(shù)據(jù)的方法
更新時間:2014年12月17日 15:56:23 投稿:shichen2014
這篇文章主要介紹了php判斷文件上傳類型及過濾不安全數(shù)據(jù)的方法,可實現(xiàn)對$_COOKIE、$_POST、$_GET中不安全字符的過濾功能,非常具有實用價值,需要的朋友可以參考下
本文實例講述了php判斷文件上傳類型及過濾不安全數(shù)據(jù)的方法。分享給大家供大家參考。具體如下:
禁止上傳除圖片文件以外的文件,提示,不要獲取文件擴展名來判斷類型,這樣是最不安全的,我們用$_FIlES['form']['type'].
這個可以讀取文件內(nèi)容來識別文件類型,但它能識別的有限,不過如果你用圖片就足夠了解.函數(shù),過濾不安全字符,實例函數(shù)代碼如下:
復制代碼 代碼如下:
function s_addslashes($string, $force = 0) {
if(!get_magic_quotes_gpc()) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = s_addslashes($val, $force);
}
} else {
$string=str_replace("&#x","& # x",$string); //
//過濾一些不安全字符
$string = addslashes($string);
}
}
return $string;
}
//用法實例:
$_COOKIE = c_addslashes($_COOKIE);
$_POST = c_addslashes($_POST);
$_GET = c_addslashes($_GET);
//在公共文件中加入
if($_FILES){
foreach( $_FILES as $key => $_value )
{
$_FILES[$key]['type'] =$_value['type'];
}
if(substr($_FILES[$key]['type'],0,6) !='image/')
{
exit;
}
}
if(!get_magic_quotes_gpc()) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = s_addslashes($val, $force);
}
} else {
$string=str_replace("&#x","& # x",$string); //
//過濾一些不安全字符
$string = addslashes($string);
}
}
return $string;
}
//用法實例:
$_COOKIE = c_addslashes($_COOKIE);
$_POST = c_addslashes($_POST);
$_GET = c_addslashes($_GET);
//在公共文件中加入
if($_FILES){
foreach( $_FILES as $key => $_value )
{
$_FILES[$key]['type'] =$_value['type'];
}
if(substr($_FILES[$key]['type'],0,6) !='image/')
{
exit;
}
}
希望本文所述對大家的PHP程序設計有所幫助。
相關(guān)文章
Fatal error: Allowed memory size of 134217728 bytes exhauste
這篇文章主要介紹了Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)錯誤的解決方法,需要的朋友可以參考下2014-11-11
php提示無法加載或mcrypt沒有找到 PHP 擴展 mbstring解決辦法
今天幫客戶配置phpmyadmin的時間,無法加載 mcrypt (外鏈,英語) 擴展,請檢查您的 PHP 配置。2012-03-03
在WINDOWS中設置計劃任務執(zhí)行PHP文件的方法
在網(wǎng)上找了些WINDOWS執(zhí)行PHP的計劃任務的方法,有一個寫得很全,可惜在我這竟然沒通過。最后不得不綜合各門派的方法,才能在我這運行成功2011-12-12

