我正在为一个偏执的客户工作。我写过的图片上传者必须能够“生存”。一些雇佣人员的多次渗透测试。仅提供一些背景信息:图像仅用于个人资料图片。
所以,我得到了什么。我有一个HTML表单来上传文件,表单只能由登录用户访问。登录系统是安全的,不用担心。每个用户都获得一个唯一的用户ID,这是我用来识别不同用户的用户ID。
每当文件上传时,我都会对其进行以下检查:
这两项检查均使用$_FILES["fileToUpload"]["size"]
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
)mime_content_type($_FILES["fileToUpload"]["tmp_name"])
)$current_user->ID.".png"
move_uploaded_file
<img>
个标签内完成的。获取完整句子(包括标签)的代码后来在另一个.php文件中为require
&#39; d。简而言之:文件不以原文命名,但在[id] .png之后。我还没有找到解决这个问题的问题。
这是防弹吗?或者我现在的系统对于愿意上传网络外壳的人来说是一个很好的挑战?如果存在重大漏洞,我该如何保护自己免受攻击?