默认情况下,服务器上可用的许多文件夹如“public_html”,“public_ftp”或简单的根,哪一个最好安全上传和存储用户的图像,我还可以添加到mysql db的链接? / p>
答案 0 :(得分:1)
如果您的客户通过http表单上传图片,如果他们需要从网上访问,请将其存储在public_html中。
答案 1 :(得分:1)
我建议您将文件保存在“public_html”中,并创建以下文件以限制公共访问:
file:upload / .htaccess
deny from all
在您的php脚本中,您只能将文件发送给有权访问的用户。
答案 2 :(得分:1)
在我看来,将它存储在公共htdocs文件夹的 之外。这样,如果有人设法上传除图像文件以外的任何内容(例如邪恶的PHP脚本),他们将无法调用它(并且它将无法运行)。
如果您是public_html文件夹,请说/path/to/website/public_html
我将它们存储在/path/to/website/uploaded_images
另外,请确保验证它以便它使用允许的图像名称的白名单(例如仅允许.jpg,.gif和.png)
修改强> 您还需要创建一个脚本,打开图像文件并将其传递回用户
答案 3 :(得分:1)
安全定义。
如果你想在网站上显示这些图像,那么显然是public_html
中的文件夹,除非你想使用向用户呈现图像的脚本,可能会改变图像。飞,更改缓存标题等。然后你可以在docroot之外的任何地方移动该文件夹,脚本可以访问这些文件。
就个人而言,我将用户图像,文件和所有内容存储在docroot中,受.htaccess
保护,并通过处理用户权限的脚本访问,如有必要。这些文件位于/uploaded
文件夹中,子文件夹最多有2个级别,每个“级别”最多可存储1024个目录/文件。文件仅以其ID命名,没有任何扩展名,所有文件信息都存储在数据库中。花了我一些时间来实现,但幸运的是这是一个可重用的代码。
答案 4 :(得分:0)
文档根目录中的任何文件夹都可以。如果您希望它是安全的,请确保您的脚本只接受允许的文件类型,并且作为另一项措施,将.htaccess文件放在该文件夹中:
<FilesMatch "*.php">
SetHandler None
</FilesMatch>
这将确保从该目录中执行任何内容。