文字化け投稿をどうするか#2
先日のコレ。
記事:文字化け投稿をどうするか
迷惑投稿が出来るのは、携帯からの投稿を装ってるからなのではないかと推測した。
実際、携帯を装えばリファラのチェックはスルーできたので、そこをせき止めてみたのだが、
その後も普通に迷惑投稿があったので、鯖のログを見てみると、
別に携帯でも何でもなく、普通にブラウザからの投稿と区別できないような状態だった。
いや、簡単に区別する方法はあるんだぜ。
なんせ、投稿フォームにGETアクセスせずに、いきなりPOSTが来るわけだから、
GETの時点でID付きクッキー食わせて、POSTでIDを参照させればいいんじゃなかろうか。
クッキーの使い方とかわからんから、そんなことが出来るか出来ないかも知らないけどな。
それが出来るなら、リファラとかチェックしなくてもスパムを全滅できるはず。
いや、全滅できてないのは、それが技術的に出来ないからなのかも知れないがな。
ところでだ。
スパムを無くしたいんじゃないって何度も言ってるわけだが。
じゃぁ、どうなって欲しいのか、何が問題なのか、もう一度整理してみる。
そもそも、オロカやイケドリにはHTMLを1ページだけ置いておけばいいのに、
なぜわざわざrNoteを置いて、迷惑投稿が出来る状態にしているのかと。
なぜPerlとかのCGI掲示板じゃなくて、専門ではないrNoteの掲示板を使っているのかと。
迷惑投稿してくれって言ってるようなものなんだが、まさに迷惑投稿を歓迎してるんだよ。
ありゃーもともと、一切管理しなくても自動で新規ページが増えることを望み、
迷惑な宣伝行為を受け入れ、そのたびに1ページずつ無駄にページ増加するっていう仕組み。
ミラー式Yomiとか設置してるのと結局は同じ目的だな。
逆に大歓迎なわけだが、じゃ、その迷惑投稿に、何の対処が必要かというと、
人の手で地道に行う宣伝なら大歓迎だが、スクリプトでやっちゃわれているせいで、
こちとらUTF-8での迷惑投稿を望んでるのに、EUC-JPとかで投稿してきやがって、
それで文字化けをおこし、その文字化けが原因でブラウザやクローラーが誤作動してる。
で、問題なのは最後に出てきた誤作動の部分のみで、
それさえなければ文字が化けようが、エロサイトへの宣伝URLを書こうが、全くOKである。
よって、迷惑投稿をNGワードやリモホではじきたくはないわけで、
むしろ、自動で文字化けを解消させて、綺麗に迷惑投稿させるのが理想というわけだ。
さて、問題はマルチバイト文字が化けることで、タグが影響を受けるという事なのだが、
そうならないために、POSTされたテキスト終端にスペースとか改行を足せばいいだけじゃん。
もうコレで解決だぜ。
でもそれだけじゃ面白くないのでもう少し。
すべて「無題/通りすがり」じゃあ、無駄なページ増やしが本当に無駄なので、
タイトルを空欄にすると、投稿者のリモホを使うようにしてみた。
$post[TAG_TEXT] .= ” “;
if(!$post[TAG_TITLE]){
$post[TAG_TITLE] = @gethostbyaddr($_SERVER[‘REMOTE_ADDR’]);
$post[TAG_TEXT] .= “\n\n※この投稿は無題だったので、勝手にタイトルを付けました。”;
}
でさ、それさえ解決すれば、むしろリファラはノーチェックでスルーが望ましいのでそうした。