有一个用php编写的服务器端脚本(比如backend_file.php)或coldfusion(比如backend_file.cfm)。
让我们说,我正在使用Apache,我有一个示例Web文件夹(在我的Localhost上),如:
当从浏览器直接命中时,是否可以限制backend_file.php的访问?
但是,index.php应该能够访问backend_file.php吗?
注意:可通过直接URL访问访问index.php。
我提到index.php应该能够访问backend_file.php,因为它发出ajax帖子或者获取从backend_file.php获取信息的请求?
答案 0 :(得分:0)
当请求某个文件时,您可以使用mod_rewrite发送禁用代码。将它放在文档根目录中的.htaccess文件中:
RewriteRule ^backend_file\.php$ - [F,L]
或者,您可以使用Deny指令。将.htaccess文件放在包含此文件的目录中,然后添加:
<Files "backend_file.php">
Deny from all
</Files>
答案 1 :(得分:0)
您需要依赖HTTP_REFERER
,因为您要HTTP
请求index.php
后端文件。你可以使用这样的规则:
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/index\.php [NC]
RewriteRule ^backend_file\.php$ - [F,NC]
将domain.com
替换为您的实际域名。