这两天各大互联网平台为了净化网络环境,纷纷推出IP属地显示功能

今天有空我也跟跟风把本站评论的属地显示也折腾出来了

IP属地显示

动手

首先我这边使用的接口是 太平洋网络IP地址查询web接口

太平洋网络IP地址查询web接口

这个接口很强大,基本上所有用到的需求都能满足

我们这边使用的是第四个接口jsDom.jsp

这里我们用到的参数有三个

  • 第一个是ip,这个从评论表就能拿到
  • 第二个是level,这个是用来设置输出精度的,=1/=2/=3分别代表只输出省名称/输出省市名称/输出省市区名称
  • 第三个就是domId,用来指定结点ID

然后就开始了(本博客使用的是Typecho博客系统)

  1. 首先找到现在使用的主题的评论展示的代码,这个根据主题不同位置也不一样,我的这个在主题文件夹comments.php文件中
  2. 然后再需要的地方加上一个的标签,这个标签id需要是该条评论的id,前缀可以随便加一个以便区分
  3. 最后再标签后面加上js脚本,脚本的url参数中需要注意:level根据需要自定义,domId和上面标签的id一样,ip则是该条评论的ip

修改示例

注意事项

改完后可能会出现调用url返回403错误的问题,这时可以在博客主题的head中加上no-referrer的标签

<meta name="referrer" content="no-referrer"/>

5月1日更新:

由于需要解决url返回403错误的问题,昨晚在博客的head中加了no-referrer的meta标签,导致今天百度统计无法统计到博客访问信息,然后使用了新的方法解决这个问题,就是在script标签中设置referrerpolicy属性为no-referrer

<script referrerpolicy="no-referrer" src="https://whois.pconline.com.cn/jsDom.jsp?level=1&domId=ip-<?php $comments->theId(); ?>&ip=<?php echo $comments->ip; ?>"></script>