Php 如何保护inc文件中的文件扩展名?
从一本书 常见的约定是对所有包含文件使用.inc。然而 这可能会使您面临重大的安全风险,因为大多数 服务器将.inc文件视为纯文本。让我们假设一个包含文件 包含数据库的用户名和密码,并存储 在网站根目录中使用.inc文件扩展名的文件 文件夹任何发现文件名的人只需键入 浏览器地址栏中的URL,浏览器将自动显示 你所有的秘密细节Php 如何保护inc文件中的文件扩展名?,php,drupal,Php,Drupal,从一本书 常见的约定是对所有包含文件使用.inc。然而 这可能会使您面临重大的安全风险,因为大多数 服务器将.inc文件视为纯文本。让我们假设一个包含文件 包含数据库的用户名和密码,并存储 在网站根目录中使用.inc文件扩展名的文件 文件夹任何发现文件名的人只需键入 浏览器地址栏中的URL,浏览器将自动显示 你所有的秘密细节 但是我发现在中有一些.inc文件,包括程序中的文件,例如:drupal和一些其他程序,为什么?它们如何阻止从浏览器访问inc文件?。htaccess可以设置为不允许web用
但是我发现在
中有一些.inc
文件,包括程序中的文件,例如:drupal
和一些其他程序,为什么?它们如何阻止从浏览器访问inc文件?。htaccess可以设置为不允许web用户请求资源
特别是阅读
<Files ~ "\.(inc)$">
order allow,deny
deny from all
</Files>
命令允许,拒绝
全盘否定
对于Drupal,保护位于Drupal文档根目录中的.htaccess
文件中:
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
Order allow,deny
</FilesMatch>
#保护文件和目录免受窥探。
命令允许,拒绝
安全文件夹或虚拟目录应用程序将是解决此问题的关键。要配置服务器问题,请选中:
如果您试图使用php解决此问题,那么ioncube或其他类型的应用程序将解决此问题。通常web根目录与应用程序本身是不同的文件夹。因此,web服务器不提供对应用程序源文件的访问,只提供对带有样式、图像等的公用文件夹的访问。只需使用.php扩展名即可。为什么使用公司?我同意保罗的观点。在我看来,PHP-includes的.inc
扩展是一种非常过时的做法。您最好只使用.php
扩展名,因为您不会丢失任何功能,也不必依赖某些服务器配置来拒绝访问这些文件。我敢打赌这本书已经有5年多的历史了。@drew010 Drupal使用具有该扩展名的文件。通常情况下,将该扩展名用于模块中包含的文件或模块中包含的Drupal文件。Drupal通常安装在web根目录或根目录的子目录上。我认为这个问题是指一般情况,而不仅仅是与Drupal有关。一般来说,将应用程序源移出可公开访问的web根目录是一种常见做法。问题被标记,这是一个关于Drupal的问题。好的,我没有注意到标记,抱歉。。除此之外,这个问题似乎只与php有关,以Drupal为例。如果我的答案再次被否决,我会删除它。。。