• 4665阅读
  • 144回复

关于帖子阅读页显示的ip地址来源 [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看楼主 正序阅读 使用道具 绿 楼主  发表于: 2020-07-26 19:43:36 星期日
关键词: 论坛
位置:帖子阅读页楼层的最上面,如:
楼主  发表于: 2020-07-17 23:31:23 IP:112.38.62.197(后台阅读页设置“显示帖子IP来源”功能关闭时前台显示的样子)
或者:
楼主  发表于: 2020-07-17 23:31:23 来自:江苏省 移动(后台阅读页设置“显示帖子IP来源”功能开启时前台显示的样子)

点击上面的“IP:112.38.62.197”或者“来自:江苏省 移动”都会有一个弹出框提示“IP:112.38.62.197 - 来自:江苏省 移动”(下面还有一个“禁止此ip”的管理链接)。


然而,这个ip地址来源显示得并不准确。因为ip地址段经常的会有变化,有回收,再分配等,具体怎么个流程不知道。总之,变是永远的不变。

前两天,顾兄在帖子中回复我说:
9楼 发表于: 2020-07-20 23:12:39  点亮(0) 来自:江苏省 移动  编辑
“用着用着就忘了用”,正常。

你到江苏了也不说下。
http://www.vtu425.com/read.php?tid=2824&ds=1&page=2#36294

于是,我也继续回复到:
“10楼 发表于: 2020-07-21 09:12:11  点亮(0) 来自:江苏省 移动  编辑
彼此,彼此。  

“10楼ip地址112.28.189.156来自安徽省合肥市 移动
论坛这个让ip地址显示为具体(大致)位置的功能,好多年前修改的(不记得怎么改的了),数据库不准确。

“显示不准确,鸡肋都不算。”

于是,后台关闭了“显示帖子IP来源”功能,只显示ip地址。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 置顶 (来自17楼) 发表于: 2020-07-28 09:25:00 星期二  点亮(0)
回复13楼 zhangjingyu 的帖子
—— 管理操作 •  zhangjingyu 执行 帖内置顶 操作 (2020-07-28 09:35) ——
zhangjingyu 刚刚打开本地的数据库管理软件,帖子回复表pw_posts里面确实有ipfrom字段,里面记录着的当然就是ip地址来源(归属)了。竟然真有这个字段!自己确实疏忽了!疏忽了问题产生的原因,疏忽了对ip地址库的维护! (2020-07-28 09:06)   
上传个截图吧。

主题内容表pw_tmsgs也有同样的ipfrom字段,所以之前的错误数据(指已经“记录在案”的ip地址来源)无法更改了。

ip地址库文件重命名为ipdata.dat(20200725版本)已经上传到ipdata目录。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 144楼 发表于: 2025-12-21 21:19:49 星期日  点亮(0)
网络查询的方式需要访问外网,不知道发帖/回帖时会不会有影响,就怕请求呼应时间太长。暂时测试一段时间再说。

后台备份了一次数据。好了,去休息。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 143楼 发表于: 2025-12-21 20:11:24 星期日  点亮(0)
1.后台添加“IP归属选择”开关,网络方式为从chinaz.com查询获得地理位置信息,本地方式为从本地数据库文件中查询。

2.在require/common.php文件里添加自定义函数,数据的处理都在这里:
    function getipguishu($onlineip) {//2025.12.21
    $getUrl = 'https://ip.tool.chinaz.com/'.$onlineip;
    $curl = curl_init(); // 初始化curl
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_URL, $getUrl); // 抓取指定网页
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // curl不直接输出到屏幕
    curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header
    $data = curl_exec($curl); // 运行curl
    curl_close($curl);

    $begin=strpos($data,'items-center');
    $end=$begin+100;
    $str=substr($data,$begin,$end);//截取页面

    $encode = mb_detect_encoding($str, array('ASCII','UTF-8','GB2312','GBK','BIG5'));
    $string =mb_convert_encoding($str,'GBK',$encode);//使用iconv函数转码在空间论坛无效

    $begin2=strpos($string,'ipAddress');
    $end2=$begin2+100;
    $str2=substr($string,$begin2,$end2);//再次截取页面
    $str3=explode('>',$str2);
    $str4=explode('<',trim($str3[1]));
    $wulidizhi=trim($str4[0]);
    $guishu=str_replace('-','',$wulidizhi);
        return $guishu;
}

3.修改文件
lib/forum/topicpost.class.php pw_tmsgs
lib/forum/replypost.class.php pw_posts
lib/forum/postmodify.class.php pw_posts

(1)添加变量:global $db_cvtime, $db_ptable, $onlineip, $db_plist,$db_ipguishu;
(2)获取数据:$guishu=getipguishu($onlineip);//2025.12.21
(3)根据后台开关,判断用网络还是本地方式更新数据
//$ipfrom = $ipTable->getIpFrom($onlineip);
$ipfrom = $db_ipguishu ? $guishu : $ipTable->getIpFrom($onlineip);
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 142楼 发表于: 2025-12-21 20:01:46 星期日  点亮(0)
到此,关于帖子阅读页显示的ip地址来源的修改终于算是完美收官了!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 141楼 发表于: 2025-12-21 19:57:57 星期日  点亮(0)
楼主  发表于: 2025-12-21 19:06:29 星期日 来自:中国山东省
楼主  发表于: 2025-12-21 19:06:29 星期日 来自:中国山东省聊城市 莘县
修改主帖也没有问题!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 140楼 发表于: 2025-12-21 19:54:40 星期日  点亮(0)
138楼 发表于: 2025-12-21 19:50:48 星期日  点亮(0) 来自:中国山东省聊城市 莘县
后台切换为采用本地数据库文件查询的方式获取ip归属
重新编辑下,后台切换为网络获取方式

修改帖子没有问题!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 139楼 发表于: 2025-12-21 19:52:29 星期日  点亮(0)
137楼 发表于: 2025-12-21 19:48:15 星期日  点亮(0) 来自:中国山东省聊城市 莘县
138楼 发表于: 2025-12-21 19:50:48 星期日  点亮(0) 来自:中国–山东–聊城 移动
看来回帖部分的文件修改没有问题。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 138楼 发表于: 2025-12-21 19:50:48 星期日  点亮(0)
后台切换为采用本地数据库文件查询的方式获取ip归属
重新编辑下,后台切换为网络获取方式
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 137楼 发表于: 2025-12-21 19:48:15 星期日  点亮(0)
回复69楼 zhangjingyu 的帖子
zhangjingyu 看了下包含“ipfrom”的文件,(如果需要处理ip归属)主要的应该是下面4个:
require/postmodify.php pw_tmsgs
lib/forum/topicpost.class.php pw_tmsgs
lib/forum/replypost.class.php pw_posts
lib/forum/postmodify.class.php pw_posts (2025-12-07 20:45)
这4个文件里面的第一个没有修改,似乎不用。后面2个刚刚修改上传,并用对比软件检查了,后续会仔细测试。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!