CI 2.2.6中base_url更新的原因和好处?
CI 2.2.6版本更新中,有一项是base_url的变更,Changed Config Library method base_url() to fallback to ``$_SERVER['SERVER_ADDR']`` in order to avoid Host header injections.
更新前的代码是:
更新后的代码是:
为什么这么修改,好处是什么?
因为是取本地服务器,所有用SERVER_ADDR获得IP会更好一些
$_SERVER['HTTPS']是肯定存在的,只不过可能为空
由于 str_replace() 的替换时从左到右依次进行的,进行多重替换的时候可能会替换掉之前插入的值。 看起来是一个安全原因。 Hex 发表于 2016-8-19 14:12
看起来是一个安全原因。
这么改的直接结果就是必须在config.php中设置base_url,不然的话会直接跳转到localhost 屠城 发表于 2016-8-19 18:13
这么改的直接结果就是必须在config.php中设置base_url,不然的话会直接跳转到localhost ...
对的,CI3就必须设置了,不过 config.php 也是 PHP 文件,你可以在里面写代码自动获取当前域名。 Hex 发表于 2016-8-21 13:37
对的,CI3就必须设置了,不过 config.php 也是 PHP 文件,你可以在里面写代码自动获取当前域名。 ...
茅舍顿开
页:
[1]