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

楼主 |
发表于 2015-9-1 02:34:41
|
显示全部楼层
关于打击反革命破坏行为的一种算法的思路
9 A, J" u1 x6 \% s! ^- i! t9 t8 P, n w# o. k
对HTTP/JAVA/ASP/PHP一窍不通,所以只能说说刚刚想到的一个思路。' d/ ~3 ]0 d# Q n- i: x
首先做一点假设,即: Q8 ] `1 [( D, {/ ~) Q9 G4 X
广告机发帖者系购买现成的广告机脚本进行发帖,通过随机扫描扫描到我站并潜入破坏。
# W% _! |& t2 V3 @' X1 s1 E本思路不适用于以下情况:
% n9 v/ {5 j1 ~) o敌对分子蓄意针对本站编写代码从事破坏活动。0 [2 z! Z. b% h$ B
思路系借鉴软件注册算法,主要思路如下。/ D$ a0 u' K# Y
注册时,通过文字要求注册者在另一页面(假定叫做 注册验证)进行验证。0 B2 A5 z0 y& J; Y+ y3 ?
注册验证页面的功能如下:$ l, L/ c/ L Q ~ w2 C6 A
设置唯一的框可以填写一段文本(注意输入过滤防止注入!)。该段文本称为明文。
9 ^+ z+ z3 p4 @7 A6 t1 }, t3 L+ A通过明文与当前日期,加盐进行加密。7 l) G. K }9 ^' p& [1 R
如明文为“列宁主义”,日期为20150901,加盐为“苏联”。* R8 {/ E% f) g1 J8 ], h {
对“苏联列宁主义20150901”16位MD5加密后密文生成为“4C6375371D3A386F”: O5 t- A U- e8 N, t$ }* ]7 k
将该代码称作注册码。8 I0 z+ \, t2 C' ?# ]" B7 p6 i
注册时要求填写所使用的明文和注册码。: P; M. q2 g/ ~( {1 }
检查当日及前一日的注册码是否与之相符(检测前一日的目的是防止跨零点注册的现象)。2 T2 o' o" J6 u
如填写的是:
9 R% Z5 ]3 M; F明文 = 列宁主义. ]- M8 V7 V' y
日期 = 20150901
1 ^! Q0 j5 s1 K' Q注册码 = 4C6375371D3A386F
( Z) _" b8 F* R/ M! A% B苏联列宁主义20150831 → 1C34A6E7BFE76B91
/ H8 O( H; w3 a苏联列宁主义20150901 → 4C6375371D3A386F c/ ^5 o3 N9 X0 G2 A0 F
这样方可注册成功。
: I! d8 j. T) V' E' t除非蓄意针对我站编写代码,自动发帖机很难对这种非通用型代码下手。
4 i% b7 x: Y/ `6 m; k U谨作抛砖引玉。 |
评分
-
查看全部评分
|