这就是问题所在:
我有这个结构的网站:
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
的内容
原因是,一旦使用.htaccess
将deny
设置为目录,它将应用于所有子目录。