Maison > php教程 > php手册 > le corps du texte

关于腾讯ip接口一个流传很广的错误用法

WBOY
Libérer: 2016-06-06 19:44:44
original
1276 Les gens l'ont consulté

摘要: 这是一个流传很广的使用方法,之前我也是深信不疑,最近在折腾自己的小网站PHP10086的时候,发现这个问题, 希望各位引以为戒 正文 腾讯ip接口由于准确度比较高(支持到县一级),使用上也比较广泛。 使用腾讯api接口有两种方法: js版: script langu

摘要:

这是一个流传很广的使用方法,之前我也是深信不疑,最近在折腾自己的小网站PHP10086的时候,发现这个问题,

希望各位引以为戒

正文

腾讯ip接口由于准确度比较高(支持到县一级),使用上也比较广泛。

使用腾讯api接口有两种方法:

js版:

<script language="javascript" type="text/javascript" src="http://fw.qq.com/ipaddress"></script>
<script>document.write("你的IP是:"&#43;IPData[0]&#43;",来自:"&#43;IPData[2]);</script>
Copier après la connexion
对应的引申出服务端版,
Copier après la connexion
PHP版的调用方法:
Copier après la connexion
//方法2 直接获得客户端ip地址
function getIpPlace(){
 $ip=file_get_contents("http://fw.qq.com/ipaddress");
 $ip=str_replace('"',' ',$ip);
 $ip2=explode("(",$ip);
 $a=substr($ip2[1],0,-2);
 $b=explode(",",$a);
 return $b;
}
Copier après la connexion
流传很广的说法都是说这两种方法可以获得客户端IP(当然是指外网ip)
Copier après la connexion
我这个本地测试这两个方法都可以获取到外网IP,解析我的ip信息:浙江杭州西湖区 电信
Copier après la connexion
但是当我把这个两个方法上传到我的个人网站www.php10086.com的时候发现,
Copier après la connexion
<img  src="/inc/test.jsp?url=http%3A%2F%2Fwww.php10086.com%2Fwp-content%2Fuploads%2F2011%2F12%2FQQ20111201131827_thumb.png&refer=http%3A%2F%2Fblog.csdn.net%2Fphp10086%2Farticle%2Fdetails%2F7042014" alt="关于腾讯ip接口一个流传很广的错误用法" > 
Copier après la connexion
解释一下:第一个IP是我个人网站服务器iP
Copier après la connexion
第二个是我使用js版的ip接口获取的值,
Copier après la connexion
对比就发现这两个方法获取的ip不一样,js版的获取的是我外网ip
Copier après la connexion
PHP版获取的是我服务器自身的ip
Copier après la connexion
 
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

原因解释:

<img  src="/inc/test.jsp?url=http%3A%2F%2Fwww.php10086.com%2Fwp-content%2Fuploads%2F2011%2F12%2FMicrosoftOfficeVisio_thumb.jpg&refer=http%3A%2F%2Fblog.csdn.net%2Fphp10086%2Farticle%2Fdetails%2F7042014" alt="关于腾讯ip接口一个流传很广的错误用法" > 
Copier après la connexion

js版流程(js依赖于浏览器解析)

用户---浏览器---本地host--外网ip--DNS解析--腾讯ip接口服务器
Copier après la connexion
返回:外网ip(完全正确)
Copier après la connexion
 
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

PHP版流程:

用户---浏览器---本地host--外网ip--Dns解析-PHP10086服务器 ---腾讯ip接口服务器
Copier après la connexion
返回:PHP10086服务器的IP
Copier après la connexion
 
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
而本地测试都可以返回的原因是:
Copier après la connexion
本地作为服务器,最近访问腾讯ip接口服务器的ip还是外网IP,所以两个方法都可以返回外网IP
Copier après la connexion
 
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
结论:PHP版腾讯ip接口获取的IP是最近访问腾讯ip接口服务器的IP
Copier après la connexion
为了证明这个,我又测试新浪的ip接口,测试结果和腾讯ip接口一样,证明结论完全正确.
Copier après la connexion
附带一个DEMO:
Copier après la connexion

demo地址:demo演示

服务器比较差,各位温柔点

 
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
从这个接口对我得出的结论:
Copier après la connexion
  1. 本地测试环境和真实生产环境还是有区别的
    Copier après la connexion
  2. 即使网上流传很广的方法也未必可靠,正如邓爷爷说的实践出真知,作为程序员要又打破权威,质疑权威的胆识和行动
    Copier après la connexion
<p>腾讯IP接口,js ip接口,PHP ip</p>
Copier après la connexion
<span><img  src="/inc/test.jsp?url=http%3A%2F%2Fi.creativecommons.org%2Fl%2Fby-nc-nd%2F3.0%2F88x31.png&refer=http%3A%2F%2Fblog.csdn.net%2Fphp10086%2Farticle%2Fdetails%2F7042014" alt="关于腾讯ip接口一个流传很广的错误用法" ><span>本文基于署名-非商业性使用 3.0PHP10086博客网(PHP淮北):http://www.php10086.com,也可以邮件与我联系。据说每个程序员都应该挖一口自己的井,希望各位支持我的"井":PHP10086博客网(PHP淮北):http://www.php10086.com。</span></span>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!