- 积分
- 2497
注册时间2011-4-23
最后登录1970-1-1
在线时间 小时UID13266
|

楼主 |
发表于 2015-9-1 02:34:41
|
显示全部楼层
关于打击反革命破坏行为的一种算法的思路, m" S# J" ^. M
# t+ P x. r; @( P" f( C对HTTP/JAVA/ASP/PHP一窍不通,所以只能说说刚刚想到的一个思路。; E/ N5 d! V. P! I/ A% D T) I
首先做一点假设,即:4 K G% P0 V5 A9 J; B- v6 a
广告机发帖者系购买现成的广告机脚本进行发帖,通过随机扫描扫描到我站并潜入破坏。
0 G& K, b- ^, K$ y8 i H本思路不适用于以下情况:$ {5 A0 D1 |* i9 @% f
敌对分子蓄意针对本站编写代码从事破坏活动。" m, Q5 v# m1 b, _5 P
思路系借鉴软件注册算法,主要思路如下。& @: N l8 V% Q; e2 h: w8 u8 T$ ~
注册时,通过文字要求注册者在另一页面(假定叫做 注册验证)进行验证。+ Y! O1 |1 L8 z* z( e
注册验证页面的功能如下:- J+ u9 u& L& P6 E2 F
设置唯一的框可以填写一段文本(注意输入过滤防止注入!)。该段文本称为明文。
# \: z) H, ]) f7 T5 d通过明文与当前日期,加盐进行加密。- m# ^1 c( H3 w" g2 u. f7 i
如明文为“列宁主义”,日期为20150901,加盐为“苏联”。. p0 d5 L7 c2 a5 V8 }: b* F+ b
对“苏联列宁主义20150901”16位MD5加密后密文生成为“4C6375371D3A386F”, u6 B% {- ^/ l' `; }/ R* l
将该代码称作注册码。
: e. j, n! }8 r: d5 f4 l注册时要求填写所使用的明文和注册码。% X$ z8 i8 J# |# k# O0 K
检查当日及前一日的注册码是否与之相符(检测前一日的目的是防止跨零点注册的现象)。
# J9 e. K% ~1 x) a: K. S2 W2 H* `如填写的是:1 B2 K+ l: k4 ~3 v3 R' j
明文 = 列宁主义" i3 G t" ~+ y% O; I( `
日期 = 20150901( G1 I& I6 R1 v2 u$ v1 d
注册码 = 4C6375371D3A386F
0 {6 U" ^% W6 o( ]8 O. U苏联列宁主义20150831 → 1C34A6E7BFE76B91 c- ^- e7 b" n$ N7 d2 l
苏联列宁主义20150901 → 4C6375371D3A386F
* ^+ ?+ x8 M! f! i! q这样方可注册成功。( E+ p/ k6 V' T3 k- F" j
除非蓄意针对我站编写代码,自动发帖机很难对这种非通用型代码下手。' B+ T' W. r5 {( p$ r, D
谨作抛砖引玉。 |
评分
-
查看全部评分
|