用CDN之后来访IP都唔是真实IP,而是CDN的IP,cloudflare会系http头度加 HTTP_CF_CONNECTING_IP,来传送来访者的真实IP,用
1 |
$_SERVER["HTTP_CF_CONNECTING_IP"] |
来取得。
实际应用就是(复制来至cloudflare的wordpress插件)
1 2 3 4 |
if ($_SERVER["HTTP_CF_CONNECTING_IP"]) { $_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } |
以上代码加到调用bbclone代码的前边。
例如:wordpress根目录的index.php(wordpress点样使用bbclone请参考呢度)
1 2 3 4 5 6 7 8 9 |
if ($_SERVER["HTTP_CF_CONNECTING_IP"]) { $_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } define("_BBC_PAGE_NAME", $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); define("_BBCLONE_DIR", "/home/用户路径/bbclone/"); define("COUNTER", _BBCLONE_DIR."mark_page.php"); if (is_readable(COUNTER)) include_once(COUNTER); |
咁样就得了。