2013-03-25 48 views
1

如何保護用戶不上傳php腳本?如何保護用戶不上傳php腳本?

我將下面的代碼放到(/ uploads /)文件夾的.htaccess中。

<Files ^(*.php|*.phps)> 
order deny,allow 
deny from all 
</Files> 
<FilesMatch "\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi.+)$"> 
ForceType text/plain 
</FilesMatch> 

,但我仍然可以上傳PHP文件& PHP文件仍在執行。我或代碼有什麼問題?

+2

您是否擔心上傳文件或只是訪問它們? Apache配置與您上傳文件的能力無關。 – 2013-03-25 04:09:14

+0

白名單媒體文件,然後用PHP驗證它們。 – Blender 2013-03-25 04:09:46

+0

在服務器上傳時檢查文件擴展名。無關'.htaccess' – diEcho 2013-03-25 04:10:02

回答

0
$allowed_ext = array("png","jpeg","gif"); 
$file_name = $_FILES['file']['name']; 
$file_ext = end(explode(".",$file_name)); 
if(in_array($file_ext,$allowed_ext)){ 
//uplod_here; 
} 
else{ 
//reject 
} 
+0

*梅西粉絲*感謝您的回答,我正在尋找的不是php解決方案。讓用戶(或)攻擊者可以繞過我/上傳/文件夾和上傳的PHP腳本。但是當它們執行它時,它不會執行任何操作,或者它將成爲純文本。 (對不起,我的英文) – 2013-03-25 04:30:43