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

楼主 |
发表于 2015-9-1 02:34:41
|
显示全部楼层
关于打击反革命破坏行为的一种算法的思路6 o9 S# ^) U0 s7 _3 u( U! q8 U
" P1 f, ^4 A3 J2 N/ [
对HTTP/JAVA/ASP/PHP一窍不通,所以只能说说刚刚想到的一个思路。
. d. _+ o+ v( F6 V' K! A首先做一点假设,即:
7 n& [6 b: ?! k0 ^: S D: ^广告机发帖者系购买现成的广告机脚本进行发帖,通过随机扫描扫描到我站并潜入破坏。2 R6 S6 {5 Z% v3 B4 D# S1 o4 D5 y
本思路不适用于以下情况: e3 Z8 A {+ U+ K& Q& s0 A
敌对分子蓄意针对本站编写代码从事破坏活动。
+ B8 C. R6 }8 Y2 j思路系借鉴软件注册算法,主要思路如下。
9 @! {! J: L) g2 A2 {注册时,通过文字要求注册者在另一页面(假定叫做 注册验证)进行验证。& s- [7 N7 R. g6 y. X
注册验证页面的功能如下:
1 p3 w3 A$ q1 `( q7 p% b设置唯一的框可以填写一段文本(注意输入过滤防止注入!)。该段文本称为明文。
, H) d$ J0 w+ \: s; x6 z G6 y8 \通过明文与当前日期,加盐进行加密。7 ^5 m! n: q' \8 i$ K8 |& i8 p
如明文为“列宁主义”,日期为20150901,加盐为“苏联”。
; {+ ~2 ~* _" L. c0 g' L对“苏联列宁主义20150901”16位MD5加密后密文生成为“4C6375371D3A386F”
1 j7 O% b% A" h4 |* k& [将该代码称作注册码。
0 |, e! j& ]" S3 c7 ^注册时要求填写所使用的明文和注册码。
, X- Z9 O! w8 H检查当日及前一日的注册码是否与之相符(检测前一日的目的是防止跨零点注册的现象)。
; q/ e7 b7 h7 b0 R3 f, I如填写的是:
! h' z' o$ P+ Z& G. n明文 = 列宁主义% h- v" x- s+ G6 p, W
日期 = 20150901
; E3 j, O) X5 J. X$ g) `注册码 = 4C6375371D3A386F4 U9 p$ W7 l3 u) @) `. J5 s5 o
苏联列宁主义20150831 → 1C34A6E7BFE76B91
8 X0 i8 M$ R, C- O0 r( ]苏联列宁主义20150901 → 4C6375371D3A386F
" |1 Q- e. F* q/ R9 C+ i; {- b2 I& W7 B这样方可注册成功。
! w4 S) d1 t7 z9 V除非蓄意针对我站编写代码,自动发帖机很难对这种非通用型代码下手。; y W) o) d# Q& Z
谨作抛砖引玉。 |
评分
-
查看全部评分
|