Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何防止在没有htaccess的情况下访问子域?_Php_Apache_.htaccess_Subdomain - Fatal编程技术网

Php 如何防止在没有htaccess的情况下访问子域?

Php 如何防止在没有htaccess的情况下访问子域?,php,apache,.htaccess,subdomain,Php,Apache,.htaccess,Subdomain,我想创建一个子域用作暂存环境。我不希望它可以公开访问,我希望避免使用htaccess。(例如dev.example.com) 子域应限制为特定的IP地址,这些地址将存储在MySQL表中并定期更新。(我正在运行PHP5.6/Apache/Centos 7) 最好的方法是什么 我可以在我的配置中为$\u SERVER['REMOTE\u ADDR']添加一个PHP检查,但是,图像和javascript文件仍然可以公开访问。您不需要htaccess文件的原因是什么 htaccess文件为httpd的中

我想创建一个子域用作暂存环境。我不希望它可以公开访问,我希望避免使用htaccess。(例如dev.example.com)

子域应限制为特定的IP地址,这些地址将存储在MySQL表中并定期更新。(我正在运行PHP5.6/Apache/Centos 7)

最好的方法是什么


我可以在我的配置中为
$\u SERVER['REMOTE\u ADDR']
添加一个PHP检查,但是,图像和javascript文件仍然可以公开访问。

您不需要htaccess文件的原因是什么

htaccess文件为httpd的中央配置文件提供了一个扩展名,其中的任何内容都可以进入httpd.conf或vhost配置中的或块中(反之亦然)

将存储在MySQL表中

Apache不会直接从MySQL读取其配置。您也不会使用很多其他东西来管理访问(例如,另一个端口上的第二个Web服务器实例)。虽然我认为可以将squid部署为反向代理,并使用url重写器从数据库中读取数据,但这看起来需要做很多工作

首先,依靠IP地址进行身份验证通常被认为是一个坏主意


我建议您使用或限制对127.0.0.1的访问,并使用ssh隧道连接。

“但是,图像和javascript文件仍然可以公开访问”-那么您还必须通过PHP脚本代理所有请求。。。“执行此操作的最佳方法是什么?”-要动态创建必要的htaccess,当数据库内容更新时…动态创建必要的htaccess文件似乎是最好的解决方案。我不想使用htaccess,因为允许的IP地址将定期更改。这是另一个不基于IP地址进行身份验证的原因。o您可以随时更改htaccess文件,Web服务器应遵守新版本,但更改主配置后需要重新启动。