2

我有一些目录(比方说 engine/)只能由位于公共目录中的特定 php 代码访问,因此根本不需要外部访问。

如何限制来自同一域的请求旁边的每个访问(其中部署的代码没有硬编码域名)?

.htaccess 大师可以在这里帮助我吗?


事实证明,除了基于引用的访问之外,我还必须以某种方式拒绝直接访问。

4

1 回答 1

3

这是使用 mod_rewrite 控制访问的示例

SetEnvIf Referer example\.com localreferer
<FilesMatch \.(jpg|png|gif)$>
Order deny,allow
Deny from all
Allow from env=localreferer
</FilesMatch>

更新:

要在根目录中使用单个 .htaccess 文件保护目录,应该可以使用以下方法:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !mydomain\.com [NC]
# Add/Remove directories in next line
RewriteCond %{REQUEST_URI} /(dir1|dir2|dir3) [NC]
RewriteRule .* - [F,NC]
于 2013-06-09T11:13:15.153 回答