htaccess - 阻止用户访问 php 文件,同时允许 javascript 访问

htaccess - Block access to php files for users while allowing javascript to access

在我网站的主文件夹中,我编写了几个 php 文件,这些文件是为了 javascript 执行 AJAX。因此,用户不应该能够访问这些 php 文件。

为此,我创建了以下 .htaccess 文件

DirectoryIndex test.php
<Files "database.ini">  
Order Allow,Deny
Deny from all
</Files>

<Files "*.php">
require all denied
require host xxx.com # website address
require ip xxx.xxx.xxx.xxx # server ip
</Files>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ .php [L]

</IfModule>

但是,当我尝试 运行 我的网站时,它告诉我服务器无法访问控制台中显示的错误消息中的 php 文件。如果我删除 <Files "*.php> 块,一切正常,但这意味着每个人都可以访问 php 文件。

我不确定我哪里做错了。我对语法不是很熟悉,所以我只是试着按照我在网上找到的资源。

由于JavaScript在用户浏览器中运行,无法限制用户直接打开相同资源。

如果用户浏览器中的 JavaScript 可以读取资源,那么用户也可以。

采取的任何措施充其量只是隐蔽的安全措施,例如限制 HTTP 方法或引荐来源网址等。JavaScript 的调用始终在浏览器调试中可见,并且生成的查询和内容可以是检查。