21
2024
03
20:45:21

zblog 开启 游客、用户评论后,在评论显示游客、用户的 IP地址对应物理地址 和 IP地址



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

1、首先下载  IP归属地 插件

2、启用插件之前,下载对应IP库(V4_纯真和V6_zxinc),需要的请留言,IP库不是最新版本,但也足够用了。

3、参考作者的文章 https://www.liblog.cn/blog/687.html


    红色部位加入的,就是评论显示的物理地址和IP地址

   模板路径:“/zb_users/theme/主题ID/template/comment.php”保存后记得在后台首页“清空缓存编译”前台才会显示。



<div class="msg" id="cmt{$comment.ID}">

          <div class="msgimg"><a name="cmt{$comment.ID}"><img class="avatar" src="{$comment.Author.Avatar}" alt=""/></a></div>

            <div class="msgtxt">

              <div class="msgtxtbogy">

              <div class="msgname"><a href="{$comment.Author.HomePage}" rel="nofollow" target="_blank"><span class="dot">{$key+1}.</span>{$comment.Author.StaticName}

              

               <a>  {if ((int)$zbp->Config('iparealee')->Getipon) && ($zbp->CheckPlugin('iparealee'))}

    {get_ipaddress($comment.IP)}

    {/if}

    </a>

    <a>

{if print $comment.IP}

   {/if}

              </a>

              </a>&nbsp;&nbsp;<span>{$comment.Time()}&nbsp;<a href="#comment" onclick="return zbp.comment.reply('{$comment.ID}')">回复该评论</a></span></div>

              <div class="msgarticle">{$comment.Content}

            

{foreach $comment.Comments as $comment}

{template:comment}

{/foreach}

              </div>

            </div>

          </div>

          <div class="clear"></div>

</div>


效果如下:

image.png




以下为作者原文章


文章最后更新时间:2024年02月18日已超过32天没有更新。

上文提到了最近一直在钻研评论区显示IP归属地的方案,最终还是抛弃了在线API接口的方案,因为不会设置缓存,每次都是直接查询那么反馈回来的信息自然就会慢很多,可能几个评论还有,但是文章出现几十甚至上百的评论那就可想而知得拖拉到什么程度,所以今天利用zblog应用中心插件“ip地址物理化(纯真版)”来实现此功能。

zblog利用ip地址物理化插件实现评论显示IP归属地的方法(最新兼容IPV4/V6) 第1张

之前跟唐朝聊过,也反馈了一些建议,很荣幸被采纳,更重要的是插件是免费的,无法额外的费用,如上图所示,显示模式分为三种,直接显示IP归属地和归属地+IP地址,还有就是归属地和IP换行显示。还能设置显示方式,可以是省份+地区(辽宁省沈阳市)和省份(辽宁),根据自己的喜好设定即可。

插件很简洁没有多余的东西,而且根据唐朝的说明,因为是本地查询所以速度上很快,不会出现在线接口那么拖拉,经过测试也的确很快,跟未开启插件的时间相同,当然我的评论较少,如果您开启插件后查询速度缓慢可以联系我。安装插件后,别忘记去下载“qqwry.dat”纯真IP数据,这个是必要的,下载后按照教程的目录上传即可完成,很简单,直接调用唐朝也给出了方法:

 PHP
{if $zbp->CheckPlugin('ytecn_ipshow')}
    <span class="interact-area">来自{ytecn_ip($comment.IP)}</span>{/if}

复制如上代码,放在需要显示IP归属地的位置,比如博客的评论区,路径:“/zb_users/theme/主题ID/template/comment.php”保存后记得在后台首页“清空缓存编译”前台才会显示。代码做了判断,开启插件后才会显示调用,未启用插件也不会报错。

启用插件后的效果大概就是酱婶儿的(以希望主题为例):

zblog利用ip地址物理化插件实现评论显示IP归属地的方法(最新兼容IPV4/V6) 第2张

主题会陆续更新IP归属地的功能,后台后开关,可根据实际情况决定是否开启,毕竟各地对网站要求不一样,估计后期个人博客类网站都得强制要求吧,好了,教程完成,我去更新主题模板了,有任何问题欢迎留言反馈!

最新版:

因为唐朝大佬较忙,所以一直没有更新,在我寻求百度等多种方法后,终于学成归来,当前使用“赵彬言”开发的3.x版本(ipv4+ipv6),自动识别IPV4或者IPV6,目前经过测试已制作成插件,设置根据唐朝大佬的版本相似,不能说相似简直就是一毛一样,是的,毕竟是直接用唐朝的插件框架,只是代码有所不同,如图:zblog利用ip地址物理化插件实现评论显示IP归属地的方法(最新兼容IPV4/V6) 第3张

代码调用方式:

 PHP
{if ((int)$zbp->Config('iparealee')->Getipon) && ($zbp->CheckPlugin('iparealee'))}
    {get_ipaddress($comment.IP)}{/if}

此次更新之后的显示更加完善,例如新增了使用CDN无法获取真实IP地址的问题,code显示更为清晰,如图:

zblog利用ip地址物理化插件实现评论显示IP归属地的方法(最新兼容IPV4/V6) 第4张

获取IP之后可根据实际情况显示不同内容,插件后台更新了三种方式,省份:广东,省市:广东省深圳市,省市区:广东省深圳市**区(因为IP数据源自免费,所以区显示不是特别友好,看缘分),实际使用过程中建议直接显示省份就足够了,这个还是比较准确的,至于IP数据后续是否更新尚未可知,插件目前测试,没有问题后续放出来。好了,更新文章完成,对了,附上IP数据的下载地址。


本文链接:https://hqyman.cn/post/5517.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: