.htaccess 使用htaccess保护ajax文件免受直接调用

.htaccess 使用htaccess保护ajax文件免受直接调用,.htaccess,protection,.htaccess,Protection,为了防止Ajax文件直接访问,我做了以下操作: 我将所有文件放在一个名为“ajax”的公共目录中,并将其放在同一文件夹中的.htaccess文件中。这是我的目录结构: /var/www/html/ajax <Directory "/var/www/html/ajax"> order allow,deny Deny from all Allow from 127.0.0.1 </Directory> 命令允许,拒绝 全盘否定 允许从127.0.0.1开

为了防止Ajax文件直接访问,我做了以下操作:

我将所有文件放在一个名为“ajax”的公共目录中,并将其放在同一文件夹中的.htaccess文件中。这是我的目录结构:

/var/www/html/ajax

<Directory "/var/www/html/ajax">
   order allow,deny
   Deny from all
   Allow from 127.0.0.1
</Directory>

命令允许,拒绝
全盘否定
允许从127.0.0.1开始

但这会产生服务器错误500。我的服务器中启用了htaccess使用以及mod rewrite。请提供帮助。

您的.htaccess文件中不允许使用目录指令。看见但是,只需将.haccess中的代码放在
/var/www/html/ajax
目录中,而不使用
目录
指令,就可以获得相同的结果

order allow,deny
Deny from all
Allow from 127.0.0.1
.htaccess
文件中不支持的指令,它是特定的

对于
.htaccess
文件,该指令是多余的,必须省略,因为目录由
.htaccess
文件的位置暗示


只需删除
和它的结束“标记”,它就会工作。

通常,Apache的(?)error.log中会解释500个错误。你说什么?(我猜,这是因为,
订单
在你的.htaccess中是大写的)@LinusKleen这就是错误所在。[Tue Dec 20 19:12:24 2011][alert][client my ip]/var/www/html/.htaccess:但是通过允许httpd.conf中的覆盖,我不能在此处指定此指令。?不,不能通过允许覆盖或任何其他方式。
指令专门绑定到.conf文件。您的意思是“/var/www/html/ajax”命令127.0.0.1中所有允许的允许、拒绝。。。。但这也不起作用。事实上,先生,我还没有找到解决办法。是的。。。服务器错误问题已解决。。。但是现在浏览器甚至无法访问目录ajax。如果您是从127.0.0.1访问内容,那么它应该可以工作。您的浏览器位于哪个ip地址?您必须将“127.0.0.1”更改为您的ip地址。我想我需要一个完全不同的解决方案。我试图实现这一点,以防止访问ajax文件夹中的文件,这样就不能直接调用它们,而是在浏览器url ex:-www.mysite.com/ajax/comment.php?act=12210&id=203中调用它们。php是一个名为file的ajax。用户不应该直接调用它。但是一些恶意的人可能会尝试这个。如何预防。请给我建议一个解决这个问题的办法。