使用.htaccess,阻止用户访问资源目录,并允许源代码访问资源

时间:2013-03-12 19:52:51

标签: php .htaccess security

道歉,如果我的问题不清楚,但我不太习惯用行话。通过'资源目录'我的意思是我的CSS,PHP脚本,图像,javascript等。

我在包含

的images目录中使用了.htaccess文件
deny from all

这样做。虽然这会阻止人们在浏览器中输入“www.example.com/images”并访问我的图片目录,但图片停止显示在我的网站上。

我认为这是因为.htaccess文件甚至拒绝我的源代码访问图像。如何让我的源代码访问目录?我每晚都有一个运行PHP脚本的cron作业。还需要允许cron作业访问脚本目录。

另外,使用.htaccess文件甚至是保护网站的最佳方式吗?

2 个答案:

答案 0 :(得分:13)

要阻止某人查看您的图片目录,您需要禁止Directory Listinghttp://viralpatel.net/blogs/htaccess-directory-listing-enable-disable-allow-deny-prevent-htaccess-directory-listing/

您无法使用deny from all,因为无法从网络浏览器从该目录中加载任何内容,因此您在网站上加载的图片也不会加载。

Options -Indexes将禁止用户列出图片目录中的文件。请参阅http://viralpatel.net/blogs/htaccess-directory-listing-enable-disable-allow-deny-prevent-htaccess-directory-listing/

为了保护数据不被不应该使用身份验证的人查看。您可以使用htaccess或脚本1设置登录字段,例如PHP或python。

使用htaccess登录脚本: 脚本: http://www.htaccesstools.com/htpasswd-generator/ 密码文件: http://www.htaccesstools.com/htaccess-authentication/

答案 1 :(得分:0)

您可以阻止访问所需的任何目录:

在httpd.conf文件中添加此代码段(您可以在此处找到httpd.conf文件:C:\ wamp \ bin \ apache \ apache2.4.9 \ bin)

<Directory "c:/wamp/www/directory_A/">
    Options -Indexes
</Directory>

在这种情况下,您可以访问www目录,但不能在directory_A中访问。 或

<Directory "c:/wamp/www/directory_A/uploads/">
    Options -Indexes
</Directory>

在这种情况下,您可以访问'directory_A /'目录,但不能在'uploads /'内。