显示Greasyfork用户注册时间,识别恶意评论

如果你的脚本干涉了某些人的利益,收到恶意差评并不意外。恶意差评有两个特点,一是账号通常新注册,二是注册后不久就会给差评,且基本不会有后续活动。本脚本根据greasyfork用户ID为连续自然数的特点,推测评论者的注册时间,帮你识别恶意评论,举报不要手软。

Autor
yysk.org
Dziennych instalacji
0
Wszystkich instalacji
262
Oceny
5 0 0
Wersja
1.0.8
Utworzono
02-09-2022
Zaktualizowano
05-11-2022
Licencja
Copyright yysk.org
Dotyczy

简介

这个脚本在greasyfork的各种评论、留言相关页面显示发言者的注册时间。如果你是开发者,可以帮你分辨恶意评论的小号;如果你不是开发者,也可以帮你辨认发言者是老用户还是新用户。

技术实现

查看一批老用户的最近活动时间,推测其注册时间,形成一个数据库db,写在脚本中。另外每隔一段时间查看一次新注册用户列表,记下其ID和注册时间,形成一个补充数据库db2,以greasyfork库的形式发布,定时更新并在本地缓存24小时,缓存过期后脚本重新获取db2数据。db + db2 就成为一个伪随机取样后形成的uid <-> register timestamp 的数据库。获取页面上每一个用户的uid,查询数据库,即可根据相邻uid的注册时间推测这个用户的注册时间,误差根据相邻uid的密集度,可能从几小时到三两天不等。

更新

v1.0.8

  1. 适配新的relative-time标签

v1.0.7

  1. 优化了时间计算,页面有gf-relative标签时,优先使用最大的datetime值作为注册时间的上限,而非使用当前时间戳
  2. 私信页面支持显示
  3. “注”字title处显示uid

v1.0.6

  1. 最近的变更忘记支持sleazyfork,做了个小修复

v1.0.5

  1. 在用户主页的用户名旁、评论列表的"Deleted user \d+"旁边也显示注册时间

v1.0.4

  1. 支持自动翻页

  2. 优化了一下时间计算

v1.0.3

  1. db2不再通过eval执行,而是从greasyfork引入库文件后match到数组内容,再用json.parse获取,参见 https://greasyfork.org/zh-CN/scripts/450603/discussions/147050

  2. 为防止浏览器缓存db2.js导致更新失效,url中加入了v参数,值为时间戳,version参数会导致404,所以用了v,参见 https://greasyfork.org/zh-CN/scripts/450603/discussions/147092

  3. 修复了一个时间计算错误,判断更准确了

  4. 关联的库文件实现了自动更新,并修复了数组成员错误顺序的问题

v1.0.2

  1. 根据https://greasyfork.org/zh-CN/scripts/450603/discussions/147015建议加入对sleasyfork的支持,已确认两站用户是相通的

  2. 脚本因引入github gist上的js被举报下架,根据https://greasyfork.org/zh-CN/scripts/450603/discussions/147050的建议和管理员的修订意见,新建了一个库,替换了gist上的数据源

v1.0.1

  1. 支持dd.script-list-author > span > a选择器

脚本的由来

大约两个月前,我发布了一个脚本 百度网盘路径助手(收藏夹:收藏、直达文件夹 | 读秀书库直达:输入SS号定位相应图书)。发布后第二天,只有几个安装时收到了一条差评,说我骗钱、跑路云云,让我气愤又莫名其妙。

留言者niaide597当时写道:

哈哈,之前骗钱跑路的删掉代码,又卷土重来了。

冲了会员就消失,不服务

现在开始卖号了?大家擦亮眼睛注意识别哦

因为这个脚本提供了在百度网盘中索引读秀PDF图书的功能,开始我想他是付费买某人的读秀相关服务被骗,又把我误作了某人吧,于是回复质问他为什么污蔑人。过了不久我恍然大悟,这是恶意差评吧。我没有任何理由让他怀疑啊,首先是我没做过读秀相关的生意,关键是他没理由怀疑我是某某人啊,这又不是社交平台,怎么会凭一个账号、一个新开发的脚本判断一个人是谁、做过什么。然后我看到了他的ID很新,基本确认这是一个用读秀脚本做生意的某人注册的小号,果断举报了这个评论,没多久管理员就将这条评论删除了。

这个脚本开发完后,再去看这位niaide597的评论记录,发现脚本推测他的注册时间是2022/7/5,而他当时的留言时间是2022/7/4晚11点多。还有,他目前仅有的两条都是跟读秀脚本有关的,一条好评,另一条404了,估计不是好评。总之,niaide597是刷评论专用小号的可能性很大。

大约一周前,8月23日晚11点多,提醒邮件告知,脚本收到一条中评。asebessia777预先判断我是卖号的,怀疑我可能不更新导致“弄”的号失效或找不到了,便基于“中立”给了我中评,尽管评论时的选项很清楚,中评是“一般 - 脚本能用,但还有一些问题”。他没说关于脚本功能的任何问题,而是因为怀疑未来可能怎样,做出了评价。我甚至不确定他说的卖号是什么意思,卖百度网盘账号还是卖读秀群组权限,还是卖机器人服务(后两者我都买过)。现在这个脚本显示asebessia777是评论当天注册的,看来他是为了发评论专门注册了这个账号。虽然他的发言没道理,但还有底线,没上来就给人差评。

greasyfork上线于2014年2月中下旬,其近年的新注册用户至少有一半来自中国。关注新用户列表几天后,我做了这个粗略的判断。有这么几个理由:

  • 查看greasyfork不限语言的总安装量排行榜,前面的基本全是面向中文用户的脚本。
  • 观察greasyfork的用户注册,目前(2022年9月)每天新用户大约350-400,从注册时间峰谷可推测时区是东八区左右的居多。
  • 新用户的用户名包含中文的就大于20%,中文用户注册而不使用中文用户名的只多不少。

总之,我的两次遭遇和最近的观察,让我很怀疑greasyfork上有一些人会专门注册新号给人恶意评论。开发脚本并不容易,没人高兴收到中差评,如果这中差评毫无道理,开发者置之不理就有些对不住自己了。为了方便各位开发者辨别恶意差评,我开发了这个脚本。虽然无法确证某人是恶意评论,但如果是没道理给中差评的新注册用户,你可以果断举报,不能纵容恶意差评的不正之风。

脚本作用截图

匹配评论列表页面:https://greasyfork.org/zh-CN/scripts/\d+/feedback

匹配评论页面:https://greasyfork.org/zh-CN/scripts/\d+/discussions/\d+

匹配用户讨论页面:https://greasyfork.org/zh-CN/discussions?user=\d+

匹配讨论列表页:https://greasyfork.org/zh-CN/discussions

匹配各类页面上的脚本作者链接

匹配用户列表页 https://greasyfork.org/zh-CN/users