Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁止使用.htaccess访问除XMLHttpRequest之外的php文件(文件夹)_Php_Ajax_.htaccess_Security - Fatal编程技术网

禁止使用.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查询的速度?