2

CI 用户指南中有这样一行:

您需要为上传的图像设置一个目标文件夹。在 CodeIgniter 安装的根目录下创建一个名为 uploads 的文件夹,并将其文件权限设置为 777。

当我开发真正的 Web 应用程序时,它有多安全?例如:社交网络,我想上传用户的个人资料图片。我想当用户想要上传私人图片时,我会遇到隐私问题。

4

2 回答 2

3

根据您想要的安全级别,777 可能不是最佳选择(它是最简单的)。网络服务器运行的用户对文件夹有 rwx,如果你想真正安全,该文件夹不应该在你的 webroot 下。

这意味着,如果 Web 文件位于 /home/mysite/ 中(例如 /home/mysite/index.html 映射到http://mydomain.com/index.html),那么上传文件夹应该是 /home/uploads 。

您的应用程序可以使用代码通过系统路径 ( /home/uploads ) 访问文件,但互联网上的任何人都无法直接访问它。

或者,如果您不能执行上述操作(例如,因为您在共享主机上),您可以使用.htaccess(放置在上传文件夹中)获得相同的效果,方法是放置以下规则:

Deny from all
Options None
Options +FollowSymLinks

(再次注意,您的应用程序将需要使用系统路径,因为 Apache 无法直接提供这些文件)。

于 2013-02-28T10:39:07.827 回答
1

您还可以使用 .htaccess 拒绝对您允许的文件夹以外的文件夹的访问。至少我对我的和 .htaccess 中未列出访问权限的目录做了同样的事情,用户无法使用。

另一种安全的方法是使用 /public_html/ 外部的文件夹 外部几乎无法访问该文件夹外部的目录。

于 2013-03-01T05:40:29.297 回答