只要有 UGC,就是要花费大把青春跟 Spam 对抗

只要有 UGC (User-generated contents),就是要花费大把青春跟 Spam 对抗。
这一方面是一个证明自己的服务有人用的象徵,一方面也是无法逃过的宿命。

诈骗连结

因为我们没人,99%以上的情况一定要用系统方式阻挡,不可能用人力去看,不然完全不符合成本。
因为有一对一聊天,日活超过几千人後,很快就发现有业者开始来乱了。
常见的是会有人传连结来要让人家按,通常当然是各种诈骗连结。
最简单最无脑的方法是禁止一切连结,但有些人只是单纯分享 youtube 影片这种,所以不能把所有连结都挡掉。

第一次对战:挡 domain

我们做的第一步就是挡住这些已知的诈骗 domain。
在後台收集好这些 domain,会做一些初步的人工筛选。
对方也是很习惯被挡,一发现自己被挡之後,对方马上改成短网址绕过我们的阻挡。
看来敌方经验丰富,SOP已经准备万全。

第二次对战:挡 IP

下一步,挡 domain 没用之後,我们很自然的想去改挡对方的IP。
对於这点小伎俩,对方也是波澜不惊,也是马上改IP。
像Tor这种服务很轻松就能办到,也很难抓。
https://www.torproject.org/

第三次对战:又回去挡短网址 domain

所以我们又回去挡这些人用的短网址 domain
因为我们发现这些人也只会用一些特定的短网址,通常不是常用的那几个。
这样看来,这些常用的短网址网页已经先挡过一波这些诈骗了。
你以为诈骗集团这样就放弃了吗?太天真了。

最终对决

我们挡网址,都是用很简单的字串匹配。
这时候好戏来了,他们开始用奇怪的字母来改写他们的网址。
因为一般的浏览器都会把这些字母自动 normalize 成正常字母,所以还是可以开启他们本来的网页。
比如说把下面这个字串贴在网址栏:"ℰ??m?le.?ℴ?" ,大部分的浏览器都会自动转成 "example.com"
这样一来他们等於可以无限的用各种排列组合来规避,我们挡也挡不完
最後我们只好用跟浏览器一样的方法 normalize 过一次再挡
因为找不到现成的 library,我们还自己弄了一个,哈哈
这步骤做完,才真正挡掉大多数的传连结式的诈骗。

ponyopoppo/url-black-list (github.com)
(名字乱取,很不符合 compliance ,哈哈)

最新文章会分享在脸书:https://www.facebook.com/gigi.wuwu/
欢迎留言讨论


<<:  【LeetCode】Linked List

>>:  都是They的错(求SW实习生心里阴影面积)

互动 & 动画

大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...

Day 11: 协作、团队与专案、学徒期 (待改进中... )

「程序设计师最糟糕的表现就是把自己封闭起来,只顾一头将自己埋在技术堆里。甚至连公司业务火烧眉毛、即...

[SAP][PP]计划单转工单_BOM问题?

请教各位有没有碰过以下问题 主件料号多阶BOM如下 1.主件料号 2.半成品A(F) 2.半成品B(...

[Day7] Local File Inclusion / Remote File Inclusion

前言 中场休息过後,来看一下LFI和RFI吧! 正文 LFI LFI全称Local File Inc...

30天打造品牌特色电商网站 Day.27 实作滚动视差

制作滚动视差的动画,使用 javascript 来制作是最为方便的!同时也可以找一些有人写好的套件,...