zundaです
たびたびすみません。ツッコミがspamフィルターにはねられているのを
見て、plugin/10spamfilter.rb の正規表現が意図通りになっていないの
ではないかと思う場所を見つけました。
現在は、「ツッコミ中でURLを表す文字の占める割合」への入力に小数点
が含まれていないと割合を0.0とみなすようです。下記のように、「小数
点と数字0文字以上」はオプションとなるのが意図した正規表現ではない
でしょうか?
小数点が無くてもいいパッチ
Index: plugin/10spamfilter.rb
===================================================================
RCS file: /cvsroot/tdiary/core/plugin/10spamfilter.rb,v
retrieving revision 1.8
diff -u -u -r1.8 10spamfilter.rb
--- plugin/10spamfilter.rb 26 Jun 2006 14:21:57 -0000 1.8
+++ plugin/10spamfilter.rb 19 Dec 2006 07:51:27 -0000
@@ -13,7 +13,7 @@
if @cgi.params['spamfilter.max_rate'] &&
@cgi.params['spamfilter.max_rate'][0] &&
- /\A\d*(?:\.\d*)\z/ =~ @cgi.params['spamfilter.max_rate'][0]
+ /\A\d*(?:\.\d*)?\z/ =~ @cgi.params['spamfilter.max_rate'][0]
@conf['spamfilter.max_rate'] = @cgi.params['spamfilter.max_rate'][0]
else
@conf['spamfilter.max_rate'] = 0.0
さらに、この場合でも小数点だけの入力を通してしまいます。下記のよ
うに修正してはいかがでしょう?
数字を要求するパッチ
Index: plugin/10spamfilter.rb
===================================================================
RCS file: /cvsroot/tdiary/core/plugin/10spamfilter.rb,v
retrieving revision 1.8
diff -u -u -r1.8 10spamfilter.rb
--- plugin/10spamfilter.rb 26 Jun 2006 14:21:57 -0000 1.8
+++ plugin/10spamfilter.rb 19 Dec 2006 08:10:40 -0000
@@ -13,7 +13,7 @@
if @cgi.params['spamfilter.max_rate'] &&
@cgi.params['spamfilter.max_rate'][0] &&
- /\A\d*(?:\.\d*)\z/ =~ @cgi.params['spamfilter.max_rate'][0]
+ /\A(?:\d+\.?|\d*\.\d+)?\z/ =~ @cgi.params['spamfilter.max_rate'][0]
@conf['spamfilter.max_rate'] = @cgi.params['spamfilter.max_rate'][0]
else
@conf['spamfilter.max_rate'] = 0.0
以上、ご検討ください。必要でしたらこちらからcommitすることもでき
ます。
--------------------------------------
Get the new Internet Explorer 7 optimized for Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/ie/
|