更新:在我的php中它是.com而不是.org,对如此小的东西如此痛苦
这让我绝对疯狂,我已经遍布这个网站,谷歌和寻找解决方案之间的每一个地方,我已经尝试了一切。目前在这里:
CentOS 6,apache 2
iptables已关闭 用户组:ftpdir 组中的用户:root,apache,fwf(我的ftp用户,ftp工作正常) 目录权限,全部启用以进行测试
rxwrxwrxw on /srv/www/floridawinefest.com/public_html/
rxwrxwrxw on /etc/tmp/
php.ini已禁用安全模式,启用文件上传,临时目录设置为/ etc / tmp,最大文件大小为5mb,已使用200k文件进行测试
使用apache:ftpdir
在public_html目录上运行chown使用apache:ftpdir
在etc / tmp目录上运行chown以递归方式对/ public_html
中的所有文件和目录运行chmod尝试上传文件时仍然低于错误
Warning: move_uploaded_file(/srv/www/floridawinefest.com/public_html/topBG.jpg): failed to open stream: Permission denied in /srv/www/floridawinefest.org/public_html/uploader.php on line 11 Warning: move_uploaded_file(): Unable to move '/etc/tmp/php9TTyoR' to '/srv/www/floridawinefest.com/public_html/topBG.jpg' in /srv/www/floridawinefest.org/public_html/uploader.php on line 11
我的代码:
chmod($_FILES["file"]["tmp_name"], 0777);
$success = move_uploaded_file($_FILES["file"]["tmp_name"], "/srv/www/floridawinefest.com/public_html/" . $filename_full);
echo "Succes: " . $success . "<br />";
chmod($filename_full, 0777);
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
答案 0 :(得分:0)
如此真实的故事(因为它已被回答)。我们有一个孩子写了这样的上传代码。将其转储到目录中。从未检查任何东西(就像你的代码没有)。几年过去了,土耳其的一些白痴上传了一个PHP脚本。几乎接管了服务器(我们在内核级别阻止了他的rootkit,获胜的层次安全)。所以需要考虑的事情
imagecreatefromjpeg
之类的函数来确保它就像它所说的那样。