禁止上傳除圖片文件以外的文件,提示,不要獲取文件擴展名來判斷類型,這樣是最不安全的,我們用$_FIlES['form']['type'].
這個可以讀取文件內容來識別文件類型,但它能識別的有限,不過如果你用圖片就足夠了解.函數,過濾不安全字符,實例函數代碼如下:
- 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);
- //在公共文件中加入
- //開源代碼Vevb.com
- if($_FILES){
- foreach( $_FILES as $key => $_value )
- {
- $_FILES[$key]['type'] =$_value['type'];
- }
- if(substr($_FILES[$key]['type'],0,6) !='image/')
- {
- exit;
- }
- }
新聞熱點
疑難解答