用PHP创建一个php文件

时间:2011-07-18 16:45:30

标签: php superglobals

我正在为我的项目安装一个安装程序,安装程序将创建一个配置文件。

我有99.99%的工作正常,但在该文件中我想要检查以确保黑客无法直接访问它,并且该代码使用$ _SERVER超级全局,在每次运行中都会被php解析它打破了我想要的逻辑。

有没有人知道我可以让superglobal保持原样,因为它没有解析,或者我应该重新考虑我的逻辑并将其添加到其他地方?

对于那些可能想要查看代码的人,这里是:

#Disable direct access.
if(!strcasecmp(basename($_SERVER['SCRIPT_NAME']),basename(__FILE__)) || !defined('accessed')){
    die('<string>No Direct access is allowed for this file.</string>');
}

2 个答案:

答案 0 :(得分:2)

假设您使用的是Apache(或任何.htaccess兼容服务器),您只需在包含配置文件的文件夹中创建一个.htaccess文件,其中包含以下内容:

<Files config.php>
  deny from all
</Files>

它将阻止通过HTTP请求访问此文件。

有关详细信息,请参阅using .htaccess files

答案 1 :(得分:1)

不要使用脚本内或.htaccess保护 - 只需将文件写在文档根目录之外的某处。如果您不希望某些内容可用,请不要使其可用。

将它放在文档根目录中,就好像你的银行在前窗上挂着一袋钱,上面写着“不要偷”。