Php 将主页和站点url映射到服务器名称时的安全问题

Php 将主页和站点url映射到服务器名称时的安全问题,php,wordpress,security,Php,Wordpress,Security,当我在开发、测试和产品环境中工作时,我正在研究不同的方法来允许Wordpress在没有额外配置的情况下工作。一种可能的解决方案是将WP_SITEURL和WP_HOME常量设置为WP-config.php文件中的SERVER_NAME值,如下所示: 这会造成安全漏洞吗 谢谢大家! 服务器名称来自服务器配置,例如httpd.conf。但是,请注意,并非所有站点都在端口80上运行。您正在非默认端口的任何站点上强制使用https。您应该反转逻辑,在任何不在端口443上运行的站点上强制使用http。这是一

当我在开发、测试和产品环境中工作时,我正在研究不同的方法来允许Wordpress在没有额外配置的情况下工作。一种可能的解决方案是将WP_SITEURL和WP_HOME常量设置为WP-config.php文件中的SERVER_NAME值,如下所示:

这会造成安全漏洞吗


谢谢大家!

服务器名称来自服务器配置,例如httpd.conf。但是,请注意,并非所有站点都在端口80上运行。您正在非默认端口的任何站点上强制使用https。您应该反转逻辑,在任何不在端口443上运行的站点上强制使用
http
。这是一个很好的观点。我只是从上面的链接复制了这个解决方案,但如果我决定走这条路线是可行的,我肯定会改变这个逻辑。也不是所有的
https
站点都在端口443上运行。(虽然无可否认,这远不如不在端口80上运行的
http
常见。)为什么不使用
$\u SERVER['SERVER\u PROTOCOL']
?我在vhost中设置了一个变量,并在wp配置中检查它。如果设置了,那么它就是开发服务器,并设置不同的DB-URL常量。如果未设置,则为live,我设置live常量。这样,就不必在服务器之间更改wp配置
$domain = sprintf('%s://%s', 
    $_SERVER['SERVER_PORT'] == 80 ? 'http' : 'https', 
    $_SERVER['SERVER_NAME']);
define('WP_SITEURL',       $domain);
define('WP_HOME',          $domain);