2015-06-22 41 views
-2

我得到了下面的php腳本。有人說,如果得到的PHP文件已重新命名爲圖像擴展名是不安全的。像:xxx.php.jpg或xxxx.jpg(包含php腳本)。我參考https://www.acunetix.com/websitesecurity/upload-forms-threat/的信息。當.htaccess獲得這樣的2行「AddHandler php5-script .php」,「AddType application/x-httpd-php .jpg」時,代碼將是不安全的。我已經測試在.htaccess中添加這兩行。我看不到網站可以從xxx.php.jpg或xxx.jpg執行php腳本。你會建議如何讓這些圖片可以像php腳本那樣執行嗎?當我估計什麼是根本原因時,我可以很容易地預防未來的這些行爲。請不要通知我使用fileinfo php函數。因爲該php函數fileinfo必須與某個庫一起使用。我不認爲要求託管技術人員安裝太麻煩。我希望能找到常用的方法。PHP上傳文件腳本 - 安全問題

<?php 

$allowedExtensions = array("jpg","jpeg","png","pneg","gif"); 

$photo_str_to_lower=explode(".", strtolower($_FILES['photo']['name'])); 
$photo_upload_end_file=end($photo_str_to_lower); 

if(($_FILES['photo']['name']!='')&&(!in_array($photo_upload_end_file,$allowedExtensions))) 
{ 
?> 
<script type='text/javascript'> 
alert('The photo must support these file format - jpg, jpeg, png, pneg, gif.'); 
history.go(-1); 
</script> 
<?php 
exit; 
} 

?> 

回答

0

可以securize您上傳它們保存到一個特定的文件夾,並添加此行的.htaccess(文件夾中)來禁用該文件夾

php_flag engine off 
+0

它是有用的,簡單的PHP的運行。謝謝。我有另一個問題。如果主機帳戶不支持.htaccess,會發生什麼情況。任何其他方式可以幫助避免PHP腳本從宿主執行? – Jun

+0

唯一的想法就是與託管公司交談(或更換公司) – Macerier