使用.htaccess EXCEPT阻止访问php文件(文件夹)以获取XMLHttpRequest

时间:2014-01-13 17:03:08

标签: php ajax .htaccess security

我有一个文件夹www.mysite.com/page/panel/soascripts/,其中有10个不同的PHP文件。 我想阻止访问文件夹 soascripts 和其中的php文件。 X-Requested-With = XMLHttpRequest除外(对于ajax)。这可能与htaccess有关吗?

1 个答案:

答案 0 :(得分:2)

在soascripts文件夹中的htaccess文件中:

RewriteEngine On
RewriteCond %{HTTP:X-Requested-With} !=XMLHttpRequest
RewriteCond %{HTTP:X-REQUESTED-WITH} !^(XMLHttpRequest)$
RewriteRule \.php$ - [L,F]

没有

X-Requested-With: XMLHttpRequest

请求标头,响应将是403禁止。


编辑:

如果要将规则添加到文档根目录,只需要包含路径:

RewriteCond %{HTTP:X-Requested-With} !=XMLHttpRequest
RewriteCond %{HTTP:X-REQUESTED-WITH} !^(XMLHttpRequest)$
RewriteRule ^page/panel/soascripts/[^/.]+\.php$ - [L,F]

请务必在之前添加任何类型的路由规则(例如发送到index.php的内容)。