禁止使用.htaccess访问除XMLHttpRequest之外的php文件(文件夹)
我有一个文件夹禁止使用.htaccess访问除XMLHttpRequest之外的php文件(文件夹),php,ajax,.htaccess,security,Php,Ajax,.htaccess,Security,我有一个文件夹www.mysite.com/page/panel/soascripts/,其中有10个不同的PHP文件。 我想阻止访问文件夹soascripts和其中的php文件。除了X-request-With=XMLHttpRequest(对于ajax)。htaccess是否可以实现这一点 在soascripts文件夹中的htaccess文件中: RewriteEngine On RewriteCond %{HTTP:X-Requested-With} !=XMLHttpRequest Re
www.mysite.com/page/panel/soascripts/
,其中有10个不同的PHP文件。
我想阻止访问文件夹soascripts和其中的php文件。除了
X-request-With=XMLHttpRequest
(对于ajax)。htaccess是否可以实现这一点 在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
)的内容)。为什么要麻烦呢?人们可能会无意中发现它并感到困惑吗?如果任何攻击者想对数据做一些邪恶的事情,添加一个X-request-With
头是很简单的。好吧,我只是想要它。在我的日志中,我已经看到了一些访问。我不想把它作为一个单一的安全选项,我已经实现了一个授权secr。(我知道攻击者可以很容易地操纵标头),但我希望普通用户可以使用此功能。他们不应该在这个目录中绊倒JonLin谢谢你@昆汀我没有很多目录或文件。我只是想防止任何人显示强奸的php文件,我不知道如何存档这一点。嗯,我读过这篇文章。。。。这是否也会降低我对soascripts文件夹中数据库的php mysql查询的速度?