我如何保护包含上传文件的文件夹?如何保护包含上传文件的文件夹?
我有文件夹,包括由我上传的所有文件,我想如果用户试图更改URL或者通过显示所有文件,浏览器重定向他到另一个页面这样的例子
www.tet.php /文件夹/text.doc
如果用户尝试写(www.tet.php /文件夹),以显示所有文件重定向他自动www.tet.php
或任何一个,请告诉我取巧的办法消失/文件夹/
我如何保护包含上传文件的文件夹?如何保护包含上传文件的文件夹?
我有文件夹,包括由我上传的所有文件,我想如果用户试图更改URL或者通过显示所有文件,浏览器重定向他到另一个页面这样的例子
www.tet.php /文件夹/text.doc
如果用户尝试写(www.tet.php /文件夹),以显示所有文件重定向他自动www.tet.php
或任何一个,请告诉我取巧的办法消失/文件夹/
我不知道PHP,但一个解决方案我想和不知道如果PHP可以处理或不:
你可以把你的“UsersUploads”文件夹放在网站目录之外,所以如果你的网站存在于“c:\ website \ example.com”你可以把“UsersUploads”放在那里“c:\ UsersUploads”,就像你的web服务器不能控制这个文件夹及其文件一样,你的网站代码仍然可以作为普通物理路径访问这个目录。
如果您使用Apache,你有2个解决方案:
将您的文件夹uploaded_files出你的DocumentRoot(该文件夹 是从 网络访问的根)的 。
使用该文件夹中的.htaccess文件 来阻止对该文件夹的访问。
使用身份验证来访问该文件夹一个.htaccess的一个小例子:
AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/var/www/uploadedfiles/.htpasswd"
Require valid-user
如果您使用IIS,那么你必须通过你们IIS管理为拒绝访问该文件夹为大家安慰。除了某些IP地址或地址范围外,您还可以拒绝任何访问。
只是为了扩大对@纪的答案,包括有关重定向到一个页面上失败的部分:
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
。密码应该散列。您可以轻松地在线查找实用程序以为您创建这些文件。
oky和我如何设置密码,我不知道有关htaccess的任何事情 – user646645 2011-04-07 09:46:48
使用此表格http://www.htaccesstools.com/htpasswd-generator/生成加密密码。将结果页上文本框中的文本复制到位于AuthUserFile行指向的路径中的名为'.htpasswd'的文件中。同样,出于安全原因,这应该不在Web根目录中。 – 2011-04-07 09:56:02
什么是您的网络服务器? IIS的Apache的还是? – 2011-04-07 09:00:28
可能重复[我如何防止公众使用PHP下载文件?](http://stackoverflow.com/questions/2339649/how-do-i-prevent-public-downloads-of-files-using-php) – deceze 2011-04-07 09:01:53