在很多的網站我們會看到顯示客戶IP地址了并來自哪里,下面我們一起來看看怎么在wordpress顯示訪客評論IP地址吧.
這兩天blog恢復,興奮之余,發現,訪客的留言ip都是proxy的地址,而不是真實的ip地址,于是打印了一下$_SERVER信息,看 到$_SERVER['REMOTE_ADDR']本應該是訪客ip的,結果卻變成了proxy的地址,這個不是我們需要,同時發現在$_SERVER中 包含了HTTP_X_FORWARDED_FOR字段,而且wordpress使用的是REMOTE_ADDR字段值,那就好辦了,使用如下代碼,就可以將是真的訪客地址,代碼如下:
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
- {
- $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
- $_SERVER['REMOTE_ADDR'] = $list[0];
- }
把上面這段代碼加入到wp-config.php的開頭部分就可以了,因為X-Forwarded-For頭的記錄格式是:client1,proxy1,proxy2,所以在上面的代碼中我們取的是第一個值,但朋友會發現上面只是顯示了IP地址并未顯示來源哪里,如 您來自湖南長沙,這種我可以有多種方法,現在主要是直接調用api.
根據IP地址獲取所在城市(新浪API)相關代碼:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>新浪API_湛藍天空</title>
- <script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" type="text/ecmascript"></script>
- <script type="text/javascript">
- alert("您當前所在地:"+remote_ip_info["country"]+ ' '+remote_ip_info["province"] + "省" + ' ' + remote_ip_info["city"] + "市"+" "+ remote_ip_info["isp"]);
- </script>
- </head>
- <body>
- </body>
- </html>
這個就更簡單了就連php都不用了而是直接調用新浪的api了.
新聞熱點
疑難解答
圖片精選