というわけで [2007-
気になるのは,そもそもスパムでないコメントすら一切届いていないことなのだが,まあ普段からコメントを頂くことは稀なのでよしとしよう.
というわけで実装の話.くっつきBBSの $
<div class=" arith" > <br> コメントスパム回避のため,以下の足し算の答えを半角でご記入下さい: <br> $ arith_ x + $ arith_ y = <input class= " field" name= " arith" value= " " > <input type= " hidden" name= " arith_ x" value= " $ arith_ x" > <input type= " hidden" name= " arith_ y" value= " $ arith_ y" > </ div>
みたいなのを仕込み,これを表示する直前に
my $arith_ x = int(rand(9) ) + 1; my $ arith_ y = int(rand(9) ) + 1;
とする.んで,if ($
my $arith = $ q- >param(' arith' ) ; my $ arith_ x = $ q- >param(' arith_ x' ) ; my $ arith_ y = $ q- >param(' arith_ y' ) ; if (! $ arith | | $ arith ! = $ arith_ x + $ arith_ y) { exit; }
を加える.実際には単に exit するのではなくて,ログを取るようにしてあるけど省略.
(追記)
2007年05月02日 kazuhooku ?
arith_ x= 1&arith_ y= 1&arith= 2 みたいな固定化への対策が望ましいんじゃないかと思った。実質的には「何か」の入力を求めている時点でスパムよけとしては十分だろうけれども http:
/ / b. hatena. ne. jp/ entry/ http: / / www. kagami. org/ diary/ 2007- 04- 30- 1. html
まったくおっしゃる通りで,パラメータの意味を理解すれば固定パラメータによる攻撃は可能です.パラメータとして渡すべき「問い」は「そこに書いてある」ので,原理的にはまあ同じことかと思ってたけど,実際の攻撃手順を考えてみるとそこにはちょっと敷居の差があるかなあと改めて思った.
というわけでちょっくら修正してみようかと思ったのですが,考え始めるといろいろややこしいので,別記事 [2007-
最終更新時間:
*
[Williamtut]
Nice blog ) http://anmdcf7i.com my blog (2015-03-28 19:43:21)