2006/10/09 (Mon)
久方ぶりに writebackplus を修正
[/blosxom]
しばらく放置していましたが writebackplus を修正。変更点は以下の通りです。
- excerpt では一定文字数で切り捨てていますが、その際に発生する不完全なタグを除去するようにしました。
- 2byte 文字がコメント/トラックバックに入っていない場合拒否するようにしていましたが、
不完全だった(このサイトでいくつかコメントスパムを許してしまいました)ので書き直しました。
加えて、コメント/トラックバックスパムへの対応を強化しました。
- DNS ベースのブラックリストを元に拒否出来るようにしました。$check_rbl で ON/OFF 出来ます。また、利用したいブラックリストを @rbl_list に列挙してください。2chのBBQがかなり優秀ということなので、ここでも利用させてもらってます。
- プライベートでもブラックリストを作って、それを元に拒否出来るようにしました。
$check_privatebl で ON/OFF 出来ます。また、拒否したいIPアドレスを @private_blacklist に列挙してください。
- 特定のキーワードが含まれている場合に拒否できるようにしました。
$check_spam_words で ON/OFF 出来ます。キーワードは @spam_words に正規表現で列挙してください。なお、日本語のキーワードは指定しない方がよいと思います(この点は全く考慮していません)。
なお、拒否した場合にログをとれるようにもしてあります($log_reject で ON/OFF)。ON にすると、ログはコメント/トラックバックと同じディレクトリに同じフォーマットで保存されます(.rej という拡張子)。ログをとってあれば、いざというとき手動でコメント/トラックバックに書き加えることができます。
その他設定項目に関してはwritebackplus あれこれやwritebackplus の導入方法を参照してくださいませ。
ダウンロードはこちらから:
挙動がおかしいなどありましたらコメントを残してもらえるとうれしいです。
Posted at 00:30 /
Permanent Link /
Comments(0) /
Edit
2004/08/23 (Mon)
writebackplus あれこれ(2)
[/blosxom]
writebackplus で保存したファイルの中に、改行を含むコメント/トラックバックがあった場合に、ダウンロードして再度アップロードすると不具合が出ます(改行の後ろが切れてしまう)。知ってはいたのですが、放置したままでした。とりあえず、改行は全て <br/> に置き換えてしまう(これにより改行コードは残りません)ように writebackplus を書き換えました。ついでに URL と思われる文字列にリンクを張るようにもしてみました。
これに加えて、一部入力されたデータのチェックが甘かった場所を修正しています。もしかすると、入力されたデータによって表示がぐちゃぐちゃになる、最悪 blosxom がクラッシュする危険性もありえます(検証はしませんでしたが)。ただし、この件によって閲覧者に被害が出るようなことはまずないと思っているので、その点だけはまだ救いですけど。ちなみに、本家writebackplus(v0.2) にも同様のバグがあります。
というわけで、ダウンロードはこちらから:
- writebackplus_custom_06.zip(アップデートに伴い削除)
設定項目に関してはwritebackplus あれこれやwritebackplus の導入方法を参照してください。
AM01:30 追記: 早速対処の甘いところを発見。一部改行コードが残っていました。普通のブラウザでwritebackを送る分にはそんなに問題は起きないはずですが、やっぱり気になるので修正。1writeback の中に書かれているバージョンが 0.6a になっているものは修正済みです。しかし、アップロードした途端にあれこれ間違いが見つかるのは何故でしょう?(汗)
Posted at 00:00 /
Permanent Link /
Comments(2) /
Edit
2004/08/22 (Sun)
writebackplus あれこれ
[/blosxom]
trackback の脆弱性 & コメントスパムへの対処で行った修正であれこれ弊害が出ているようなので、一時的にON/OFFを切り替えられるようにしてみました。
- $check_referer: HTTP_REFERER を含む場合のチェックをする/しない(標準はする)
- $check_ua: USER_AGENT が Mozilla を含む場合のチェックをする/しない(標準はする)
で設定できます。チェックは投稿時だけで、表示するときには保存されているメッセージをそのまま(チェックを既に通過したとみなして)出力しています。まあこのバージョンに関しては、問題が発生した場合に切り替えられるようにしただけなので、あんまり気にしなくても構いません。
というわけで、ダウンロードはこちらから:
- writebackplus_custom_05a.zip(アップデートに伴い削除)
ちなみに、これまで私が追加した設定項目は
- $notitle: タイトルが入力されなかった場合の代替 (標準は "no title")
- $anonymous: 名前が入力されなかった場合の代替 (標準は "anonymous")
- $charcode: サイトで用いている文字コード (標準は "euc")
です。設置に際してはプラグインの文字コードと $charcode は必ず一致させる必要があります。また、サイトで用いている文字コードと $charcode が異なる場合はまともに writeback/trackback は表示できません。なお、Jcode.pmを内部で使っています。
ただ、前回のwritebackplusのXSS脆弱性への対処で書いている修正はかなり緊急を要する話なので、0.4以前のバージョンを使っている人は早急に入れ替えてください。ちなみに、入力/出力チェックをやってない項目があったというもので、悪意を持つ者が任意のJavascript等設置できてしまうという深刻なものです。
あと、writebackplus (v0.5以前)で保存したファイルですが、改行コードを変換するFTPクライアントを使って*.wbをダウンロードして再度アップロードすると、うまく表示されないことがあります。*.wb に含まれる \r も \n も全て一緒くたに改行に変換されてしまうケースがあるようで、そのファイルはwritebackではうまく扱えなくなってしまうのです。この場合はexcerptやcommentに含まれる改行を全て削除してやれば問題は解消されます。
08/23 追記: comment/excerptの中の改行コードを全て <br/> に書き換えるように修正しました。*.wb自体は読みにくくなってしまいましたが、改行コードを気にする必要が無くなった分、PCでの修正が容易になったはず…。
Posted at 00:00 /
Permanent Link /
Comments(1) /
Edit
2004/08/08 (Sun)
writebackplusのXSS脆弱性への対処
[/blosxom]
blosxom starter kit の writeback に XSS 脆弱性が存在する模様。
配布元であるhail2u.netにて、
で言及されています。心配になったので自分の所の writebackplus をチェックしてみたら、思いっきり穴が開いていました。ううむ。
というわけで、早速修正版を作りました。
- writebackplus_custom_05.zip (アップデートに伴い削除)
変更点はプラグイン本体である 1writeback のみです。ご利用の方(いるのかな?)には入れ替えを強く推奨致します。なお、1writeback 中の6行目の更新日付が2004/08/07になっているものは不完全版(穴が残っている)なので、ダウンロードし直す必要があります。
ちなみに、本家writebackplus(v0.2) にも同様の問題があるので、気を付けないとまずいです。
Posted at 17:00 /
Permanent Link /
Comments(5) /
Edit
2004/08/07 (Sat)
trackback の脆弱性 & コメントスパムへの対処
[/blosxom]
このサイトではwritebackplusをいじったものを使っているのですが、「Trackback の脆弱性についての勧告」という記事がblog.bulknews.netに出ていたのでこれに合わせて修正してみました。といっても、修正法にあった部分をそのまま適用して
- ヘッダのHTTP_REFERERに何か入っている
- ヘッダのHTTP_USER_AGENTが"Mozilla/"を含む
場合にそのtrackbackが拒否されるようになっています。要するに、ブラウザから来たtrackbackが対象です。
修正ついでに、コメントスパムへの対処もしておくことにしました。今のところコメントスパムの主流は英語の様なので、
- SJISに変換した物とEUCに変換した物が一致した場合拒否する
という方法にしました。日本語でやられたらどうしようもないですがね…(いずれ来そうな気がします)。というわけで、この対処はあくまで一時しのぎです。設置してテストしましたが、今のところうまく動いているようです。
- >writebackplus_custom_04.zip (アップデートに伴い削除)
設置法そのものは以前の物と全く変わっておりません。何か問題がありましたらお教え願えると幸いです。
AM4:30 追記: 早速問題発生。「ぶろっぐぴんぴん」というPing/trackback送信のツールを使っているのですが、このUser-AgentがMozilla/3.0になっている模様。当然対策をするとtrackbackが打てません。しょうがないので、User-AgentがMozilla/3.0だった場合にはtrackbackを受け付けるように書き換えました。
08/09 追記: 誤解の無いよう書いておきますが、User-Agentとして"Mozilla"を名乗るのはMozillaだけに限りません。Mozilla以外にも、Netscape("Mozilla"というのはもともとNetscapeのコードネームです)/Internet Explorer/Opera(変更可能)/Safari等のUser-AgentはMozillaから始まります。というわけで、世にあるブラウザの多くはこの対策で排除できることになります。しかしながら、User-Agentはいくらでも変更できる代物ですから(アクセスの際にクライアントがサーバーに渡します。サーバー側が判定しているわけではありません)、全てのブラウザが排除できている保証はどこにもありません。
Posted at 03:20 /
Permanent Link /
Comments(3) /
Edit
[
1 |
2 |
3 ]
next ->>