愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
by F-shin
[ このサイトについて ] [ F-shinについて ] [ トップ ]
author:えふしん
photo_20.jpg
藤川真一について


モバツイの中の人
マインドスコープ(株)社長
人の良いジョンカビラと言われます。
AMN sponsor rolls
モバツイの2つのスマートフォン
アンドロイドアプリ!
アンドロイドアプリ モバツイtouch
全てのスマートフォンブラウザと、Nintendo3DSで! HTML5版Webアプリ「モバツイsmart」
本を書きました!
100万人から教わったウェブサービスの極意 ~「モバツイ」開発1268日の知恵と視点
Google Friend Connect
このカテゴリ[Web系]の最新30件
インターネットの可能性を信じて〜本を書きました。 ネットショップに20万円は高いという感覚は割と普通の感覚だと思う。 ソーシャルメディアの生かし方 インターネットは芸術だ ECサイトはGoolge検索エンジンのプラットフォームに乗ってることを自覚せよ Ubuntu 8.0.4でTwitter apiのSSL通信ができなくなった人向けのメモ インターネットを支える仮想共同体 twitterとfacebookのレイヤーは違う 文脈が共有できていないフロー型コミュニケーションの問題点 身も蓋もなくなるインターネット フェイスブックページっで起きるかなぁ?!って思ってること。 非公式RTじゃないとできないこと。公式RTが目指したもの。 ツイッターのつぶやき価値 ネットコミュニケーションは万人の手段ではない AWS東京リージョンとtwitter apiの関係 Facebookがインターネットになると困る デジタルネイティブではない30代のつぶやき ネチケットとアーキテクチャという法律のあいだに。 相撲の八百長問題に見られる、ITによるフローのストックという構図 Webエンジニアスキルの勘所 ツイッター面白いね WebSig一日学校で考えてたこと ソーシャルメディアについてのメモ User Streamの先にあるtwitter Web Creation Awardsにノミネートされました。 携帯Webのクッキー利用について調べてみたメモ【update】 twitterドラマと今後のツイッター デジハリの杉山学長賞をいただきました。 日経電子版を流行らせる一つの思いつき 商品の良さとリンクは、140文字で伝えなさい
[このカテゴリをもっと見る]
Powered by
Movable Type

November 27, 2004

最近、コメントスパムが3日置きに20個ぐらいやってきて、削除するとそのお礼参りが返ってくるような気がしてきて、反撃が大きくならないうちに下記のサイトを参考にして、とりあえずプレビューを経由しないとコメント登録できないようにする対策をしました。

プレビューボタンのみ表示してhashを仕込むというコメントスパム対策

ただ、この対策ですが以下の問題にぶちあたりました。
その前に一言お断り。すいません、↑のサイトも、その元の引用元サイトも、あまり読まないで、長斜め読みで作業してるので、以下に書いたことは僕の勘違いであることも含めて記述しておきますので、その辺は、笑ってご容赦を。

問題1.プレビュー後の登録ボタン送信後に、メールアドレスのチェックでエラーになるとハッシュ値が維持されずにコメント登録ができなくなる。
問題2.プレビュー画面で、メールアドレス等を変更し、そのまま登録ボタンを送信するとハッシュ値と整合が取れなくなってコメント登録ができなくなる。
問題3.MT::App::Comments=HASH(0x8133864) Use of uninitialized value in string ne at extlib/jayallen/MTBlPost.pm line なんつう警告が出ている。通常の登録フローでは画面がリダイレクトしているので気が付かないですが、ちゃんと警告自体は出ています。見えないだけで。

問題1の対策:
問題は、プレビューエラーのテンプレートにハッシュ値がうまく渡されないのが原因で、よくわからないんでカスタムタグ作ってハッシュ値を渡していこうかと思ったのですが、Perlの文法は僕には謎すぎるので諦めました。

仕方ないので、「前に戻る」で一番最初の画面まで戻ってもらって直してもらうしかないかなと。
同時にプレビュー画面で編集できないようにしました。

ただ、メールアドレスのエラーなどが発覚するのが確認画面の後という本来ありえない画面フローになっているのでプレビューボタンが押されたときの処理で、メールアドレスのチェック処理を走らせてエラー画面に飛ばす制御をしないと、おかしいです。これは課題。

問題2の対策:
ハッシュ値の考え方が、プレビュー画面での編集後の再送信に対応していないのが、そもそもの原因。
だから仕方ないです。問題1と同じ対策で解決

問題3の対策:
なんか、このエラーをぐぐると、まぁいいやとか、そもそものエラーを表示しないように隠蔽するとか、一般的に、まともに解決してない人が多いですね。
エラーメッセージの通り、初期化されてない変数を使うなゴルァという警告なのですから、自分のプログラムで使われていない変数を削除すればOK

今、元の元の引用元を見ると、これは自分用の特別な変数だから、この変数は消してねって色も変わって書いてあるじゃん(笑)
あー時間の無駄をしてしまった。ちゃんと原文も読みましょうってことでつね。

つーことでエラーが出る以下の部分は不要なので削除しませう。
「. $q->param('subject') . $q->param('convert_breaks')」

さすれば、このエラーは消えます。

多分、まだこの戦いは続きそうな気がするから、タイトルには、「1」とつけておきました。これで解決したら2はありません。そのことを祈るだけです。

■同じカテゴリ[Web系]のエントリー
<<前の記事 Flash Communication Server
>>次の記事 FCSは怖い
■このblogの書き込み最新3件
インターネットの可能性を信じて〜本を書きました。 バルスのツイート機能に関する謝罪を書いたら沢山反応があった件 モバツイの広告の取り組みについて、発表資料の共有