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

楼主 |
发表于 2015-9-1 02:34:41
|
显示全部楼层
关于打击反革命破坏行为的一种算法的思路- T" V: J7 H. l/ C, u7 e+ A! h
3 `! [# v) A7 C4 X4 ]6 b( n! k1 y q
对HTTP/JAVA/ASP/PHP一窍不通,所以只能说说刚刚想到的一个思路。
0 R: F7 ^4 z. Q1 m' L! w首先做一点假设,即:+ m$ M, D0 U2 {# V- z% I8 ]6 `
广告机发帖者系购买现成的广告机脚本进行发帖,通过随机扫描扫描到我站并潜入破坏。
, O; Z, H. N& u: e0 J+ q7 V8 M本思路不适用于以下情况:
$ z# T& k: Y9 _) h5 _敌对分子蓄意针对本站编写代码从事破坏活动。
8 `7 a7 b3 p5 Z5 K6 N" L0 J* N思路系借鉴软件注册算法,主要思路如下。
0 `* [* a+ v) T4 w0 Q注册时,通过文字要求注册者在另一页面(假定叫做 注册验证)进行验证。, U3 ]3 _# t$ O2 |4 B
注册验证页面的功能如下:7 z) J/ `+ } g9 s! B1 o
设置唯一的框可以填写一段文本(注意输入过滤防止注入!)。该段文本称为明文。2 t1 C8 P2 T* w- C. t# l! }: x
通过明文与当前日期,加盐进行加密。
2 s$ a# l2 [) o# V' H" J如明文为“列宁主义”,日期为20150901,加盐为“苏联”。* G, K" R7 ?4 J; [* I2 d
对“苏联列宁主义20150901”16位MD5加密后密文生成为“4C6375371D3A386F”
4 O" o, m. S. N将该代码称作注册码。
5 J# A0 j" l f$ \$ t/ a0 o9 T注册时要求填写所使用的明文和注册码。
7 x9 Z2 g0 m: @' F) t4 a# ?检查当日及前一日的注册码是否与之相符(检测前一日的目的是防止跨零点注册的现象)。) n. y1 B) }3 g6 I
如填写的是:
6 B8 w+ L2 O0 h' I: {明文 = 列宁主义
1 b/ Q! M( m2 u6 I1 R0 [; b% U7 p日期 = 201509015 n s6 h1 d( s7 N( ]
注册码 = 4C6375371D3A386F
/ r( @! g2 \0 W苏联列宁主义20150831 → 1C34A6E7BFE76B91
5 D9 |5 x8 a( _苏联列宁主义20150901 → 4C6375371D3A386F
, o6 X0 D9 m* `9 R这样方可注册成功。 R$ b; C) d1 [% }2 {$ }
除非蓄意针对我站编写代码,自动发帖机很难对这种非通用型代码下手。" U$ ^2 ?0 ~) A0 ?3 b; G
谨作抛砖引玉。 |
评分
-
查看全部评分
|