3
我目前的上傳圖片編碼 如果我的編碼是可破解的,請告訴我您將如何做。我會在我的服務器上自己嘗試。PHP圖片上傳安全 - gd/imagick/move_upload_file
if ((strtolower($_FILES["user_image"]["type"]) == "image/jpeg" || strtolower($_FILES["user_image"]["type"]) == "image/pjpeg" || strtolower($_FILES["user_image"]["type"]) == "image/gif" || strtolower($_FILES["user_image"]["type"]) == "image/x-png" || strtolower($_FILES["user_image"]["type"]) == "image/png") && ($_FILES["user_image"]["size"] < 4194304)) {
if(strtolower($_FILES["user_image"]["type"]) == "image/jpeg" || strtolower($_FILES["user_image"]["type"]) == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["user_image"]["tmp_name"]);
}
// if uploaded image was GIF
if(strtolower($_FILES["user_image"]["type"]) == "image/gif"){
$image_source = imagecreatefromgif($_FILES["user_image"]["tmp_name"]);
}
// if uploaded image was PNG
if(strtolower($_FILES["user_image"]["type"]) == "image/x-png" || strtolower($_FILES["user_image"]["type"]) == "image/png"){
$image_source = imagecreatefrompng($_FILES["user_image"]["tmp_name"]);
}
這是我正在使用的上傳方法。
我們可以使用move_uploaded_file和imagick來上傳文件。
問:
**你將如何破解我的圖片上傳的代碼? (我試過用假JPEG頭和php-GD清理文件。)
**你爲什麼告訴move_uploaded_file固定比imagecreatefrom【類型】(如果你說我的方法是不安全的)
我剛搬到nginx。 如何禁用上傳目錄中的所有腳本執行? PHP,SH,CGI,...
location /uploads/ {
location ~ .*\.(php)?$
{
deny all;
}
}
**我從來沒有嘗試過imagick將文件上傳到服務器。我正在使用它來處理圖像。
或者我需要結合那些以安全方式上傳文件嗎?