我目前用于上传图像 的编码如果我的编码是可破解的,请告诉我你将如何做到这一点。我会在我的服务器上自己尝试一下。
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[type] 安全(如果你说我的方法不安全)
我刚搬到nginx。如何禁用上传目录中的所有脚本执行?php, sh, cgi, ...
location /uploads/ {
location ~ .*\.(php)?$
{
deny all;
}
}
** 我从未尝试过imagick将文件上传到服务器。我正在使用它来处理图像。
还是我需要将它们结合起来以安全的方式上传文件?