无法保存与其他许可文件,除了777
我有一个调整大小的图像,然后保存新的图像的脚本。
我不能保存新的图像,如果原始图像没有777个权限。无法保存与其他许可文件,除了777
我知道,777是有风险的,因此使用不同的权限,如775或755什么都不做的时候。
- 为什么什么都不做?
- 如何解决?
编辑:
我希望能够用我的剧本,无论图像的权限是什么保存的文件/文件了。
回答:
这一切都是因为您的服务器配置错误,这意味着httpd以不同的用户身份运行,而不是拥有所有文件,这需要write
权限集others
。解决方案是修复服务器配置,以便这些用户id匹配。但是,如果您不熟悉服务器管理,这不是微不足道的。其他(但这不是一个真正的解决方案)将把这两个用户放到一个组中,这样就不会给每个人写访问权限,只会将它“限制”到你的组中。但这不是一种可行的方式。或者,如果您是服务器上的唯一用户,则可以将httpd设置为在您的userid/groupid上运行,而不是在其自身上运行。但是,这又不应该被视为一种“解决方案”。
回答:
1)创建与777权限的新文件夹。
2)将图像保存在该文件夹中。
我不认为你会需要原始图像777。
。
。
为了安全,你需要:文件上传
A)核对扩展和调用自定义调整大小/图像功能。这将确保文件始终转换为图像。
B)[的.htaccess](您用户上传图片的目录)=
#Disable directory indexes & folder listing [deny any file other than image]
<Files ^(*.jpeg|*.jpg|*.png|*.gif)>
order deny,allow
deny from all
</Files>
回答:
您可以尝试之后文件模式,但它强烈地依赖于PHP守护进程所拥有的权利内;
chmod("/somedir/somefile", 755);
With fileperms()
您可以获取创建的文件的当前权限。
回答:
您可以在Apache配置文件中重新设置User
和Group
参数,使其作为另一个用户运行。
回答:
您的Web服务器在拥有图像的用户以外的用户下运行。要找出哪个用户是你的网络服务器运行,创建并运行这个PHP脚本
<?php echo shell_exec('whoami');
?>
以上是 无法保存与其他许可文件,除了777 的全部内容, 来源链接: utcz.com/qa/266118.html