通过研究,我发现了两种阻止客户端直接使用浏览器访问库的常用技术:
.htaccess
将其保留但是,只是将这些文件保留在文档根目录下似乎是明智的。这种方法有什么问题吗?
答案 0 :(得分:9)
最好的办法是将它放在你的docroot之外。没有理由将包含在可直接访问HTTP的位置。
某些共享的网络主机配置不当,没有此选项,但大多数情况下,您肯定可以在自己的服务器或VPS上进行此选择。
答案 1 :(得分:2)
要完成Brad的回答,您可以按照以下方式整理文件夹:
/path/to/project/
public_html/
index.php
includes/
includes.php
您的网络服务器根文件夹为public_html
。
如果您无法修改此结构,唯一可以接受的方法是使用.htaccess
(或等效内容)来阻止公开访问includes
。
答案 2 :(得分:0)
如果您使用Apache Webserver,则可以拒绝访问所有.inc.php文件。您只需将以下内容添加到Apache Vhost配置中:
<FilesMatch .inc.php>
Order allow, deny
deny from all
</FilesMatch>
您仍然可以在php代码中包含这些文件。
答案 3 :(得分:0)
如果库文件只是定义了类/函数/什么,并且您的服务器没有以可以查看源的方式配置,那么无论如何通过Web服务器请求脚本都无法实现。话虽这么说,如果你能,你可以将它们存储在文档根目录之外。