【问题标题】:Is it possible to make my php website work for a predefined domain name only?是否可以让我的 php 网站仅适用于预定义的域名?
【发布时间】:2011-08-06 08:26:47
【问题描述】:

在索引中我可以写这个 -

if ($_SERVER['HTTP_HOST'] != 'www.example.com') {
    include("home.php")
}

但删除此检查非常容易,只需包含 home.php,它将为任何域名运行整个网站。

是否有任何无法删除的编码方式使本网站适用于其他域?

【问题讨论】:

    标签: encoding web dns


    【解决方案1】:

    如果有人可以访问您的代码并且可以更改它,那么您就无法阻止这种情况的发生。

    【讨论】:

    • 感谢您的尖锐回答。我也猜到了,但现在确认了。
    【解决方案2】:

    如果您使用的是 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”。

    【讨论】:

      猜你喜欢
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 2019-09-29
      • 2010-10-25
      • 1970-01-01
      • 2015-05-20
      • 1970-01-01
      相关资源
      最近更新 更多