只允许公众访问一个php脚本,并拒绝其他脚本


Allow public access to only one php script and deny the rest

这就是问题所在:

我有这个结构的网站:

php (folder)
css (folder)
js (folder)
index.php

在index.php中,我使用include() php函数来包含php文件夹中的文件,并且我在php文件夹内的其他文件中也这样做。

我在php文件夹中有一个.htaccess文件,内容是:deny from all,所以如果我试图从浏览器访问php文件夹中的一个文件,我会得到一个403(禁止)错误(这很好)

问题是,我需要从js文件(在js文件夹中)发出Ajax请求,当我想这样做时,我会收到同样的403错误。我试着输入。htaccess:

<Files saveComment.php>
    allow from all
</Files>

现在它可以工作了,但任何人都可以从浏览器访问该文件,并破坏我的数据库(该文件将"注释"保存在数据库中)

有什么帮助吗?谢谢!

根据您的设置,我建议将所有请求路由到index.php文件。因此,您将使用/comments/save而不是saveComment.php,后者反过来在内部执行saveComment.php 的内容

原因是,一旦使用.htaccessdeny设置为目录,它将应用于所有子目录。