- 积分
- 2497
注册时间2011-4-23
最后登录1970-1-1
在线时间 小时UID13266
|
楼主 |
发表于 2015-9-1 02:34:41
|
显示全部楼层
关于打击反革命破坏行为的一种算法的思路3 {3 s( r, j, E! \ V
% q( o) c6 k5 p9 u5 d; A* P对HTTP/JAVA/ASP/PHP一窍不通,所以只能说说刚刚想到的一个思路。$ @5 Z6 |& |* ~- @/ B, v7 X
首先做一点假设,即:. M0 {% u7 i6 P0 e0 [' q; i, K l
广告机发帖者系购买现成的广告机脚本进行发帖,通过随机扫描扫描到我站并潜入破坏。, ^/ t' F+ V& v( h) d, Y
本思路不适用于以下情况:
, ~, c: ]; j! y% B8 f, k敌对分子蓄意针对本站编写代码从事破坏活动。
& E" l0 C- M1 l3 x! r7 t/ g z思路系借鉴软件注册算法,主要思路如下。7 `: U4 T; h9 k# K) r
注册时,通过文字要求注册者在另一页面(假定叫做 注册验证)进行验证。. ^8 N) t- y6 h/ F: t7 D" g9 B- ~
注册验证页面的功能如下:
& c% N1 I: x4 g" B% F; ~" {3 [2 F设置唯一的框可以填写一段文本(注意输入过滤防止注入!)。该段文本称为明文。
$ G% O- q7 @2 y6 J: H通过明文与当前日期,加盐进行加密。
6 T0 w7 m; b- V2 S& ?3 A如明文为“列宁主义”,日期为20150901,加盐为“苏联”。
4 J3 T/ E/ q( B对“苏联列宁主义20150901”16位MD5加密后密文生成为“4C6375371D3A386F”0 [- @" n( _/ n6 `
将该代码称作注册码。. C1 ?' Z+ |7 j
注册时要求填写所使用的明文和注册码。
, E8 d: j4 R$ g2 Q6 J检查当日及前一日的注册码是否与之相符(检测前一日的目的是防止跨零点注册的现象)。+ b' o8 `' p. Q. [% _# p5 x3 Z& n" P
如填写的是:8 a# ]$ s5 r+ }
明文 = 列宁主义. [- u! |1 w! R
日期 = 20150901
% T0 r0 y0 q7 x$ X& k9 k9 x4 ]) r注册码 = 4C6375371D3A386F- _. @7 x4 b6 e6 u
苏联列宁主义20150831 → 1C34A6E7BFE76B916 `( ^/ \$ l: [* t1 H) d6 {2 I
苏联列宁主义20150901 → 4C6375371D3A386F2 f( x0 H x' t, \" z/ p h$ @7 P A
这样方可注册成功。4 b& |2 W: C; ^
除非蓄意针对我站编写代码,自动发帖机很难对这种非通用型代码下手。2 D0 z: y$ j$ y7 I4 Y' t) G
谨作抛砖引玉。 |
评分
-
查看全部评分
|