【发布时间】:2011-08-06 08:26:47
【问题描述】:
在索引中我可以写这个 -
if ($_SERVER['HTTP_HOST'] != 'www.example.com') {
include("home.php")
}
但删除此检查非常容易,只需包含 home.php,它将为任何域名运行整个网站。
是否有任何无法删除的编码方式使本网站适用于其他域?
【问题讨论】:
在索引中我可以写这个 -
if ($_SERVER['HTTP_HOST'] != 'www.example.com') {
include("home.php")
}
但删除此检查非常容易,只需包含 home.php,它将为任何域名运行整个网站。
是否有任何无法删除的编码方式使本网站适用于其他域?
【问题讨论】:
如果有人可以访问您的代码并且可以更改它,那么您就无法阻止这种情况的发生。
【讨论】:
如果您使用的是 apache,您可以通过在 home.php 所在的目录中添加一个名为“.htaccess”的文件来直接禁止访问“home.php”:
<Files home.php>
order deny,allow
deny from all
</Files>
但更好的是,我会将 home.php 和其他文件放在一个名为“includes”的受保护目录中,并改用这个“.htaccess”文件:
<Directory "includes">
order deny,allow
deny from all
</Directory>
您现在只能通过在脚本中使用 include("home.php"); 来访问 home.php。
如果它不起作用,请确保在您的 apache 配置中启用了 htaccess 覆盖。 找到“AllowOverride”指令并确保设置了“AllowOverride All”。
【讨论】: