我如何保护包含上传文件的文件夹?

时间:2011-04-07 08:58:37

标签: php

我如何保护包含上传文件的文件夹?

我有文件夹包含我上传的所有文件,我想如果用户尝试更改网址或传递显示所有文件,浏览器会将他重定向到另一个页面,如此示例

www.tet.php /文件夹/ text.doc

如果用户尝试编写(www.tet.php /文件夹)以显示所有文件将其自动重定向到www.tet.php

或任何一个请告诉我消失的方法/文件夹/

4 个答案:

答案 0 :(得分:0)

我不知道php但是我正在考虑的一个解决方案,并且不知道php是否可以处理:

你可以把你的“UsersUploads”文件夹放在网站目录之外,所以如果你的网站存在于“c:\ website \ example.com”你可以将“UsersUploads”放在那里“c:\ UsersUploads”,就像你的那样Web服务器无法控制此文件夹及其文件,并且您的网站代码仍可以访问此目录作为正常的物理路径。

答案 1 :(得分:0)

如果您使用Apache,则有2个解决方案:

  • 移出uploaded_files文件夹 你的DocumentRoot(的根源) 可以从中访问的文件夹 幅)。

  • 在该文件夹中使用.htaccess文件 阻止访问此文件夹。

使用身份验证访问该文件夹的.htaccess的一个小例子:

AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/var/www/uploadedfiles/.htpasswd"
Require valid-user

答案 2 :(得分:0)

如果您使用IIS,则只需通过IIS管理控制台拒绝为每个人访问该文件夹。除了某些IP地址或地址范围外,您还可以拒绝任何访问权限。

答案 3 :(得分:0)

只是为了扩展@Clement的答案,包括关于在失败时重定向到页面的部分:

AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/var/www/uploadedfiles/.htpasswd"
Require valid-user
ErrorDocument 403 www.urlToRedirectTo.com

此外,.htpasswd应放在Web根目录之外,并且应该只包含username:pasword。密码应该经过哈希处理。您可以在线轻松找到实用程序来为您创建这些文件。