ホーム > タグ > PHP

PHP

spamp:掲示板スパムバリデータ出来ました

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

掲示板スパム対策の取り組みもこれでひと区切りとしたいと思います。
PHPスクリプトのダウンロードとドキュメントはこちらです。
spamp : 掲示板スパムバリデータ

spampは、マルチバイトを含まない投稿をはじく、
投稿出来るURL数を限定する、
プロキシっぽいクライアントを拒否する、
といったフィルタはまったく使っていません。
CAPTCHA(画像認証)やパスワードによる認証でもありません。

掲示板スパムボットのプロファイリングから生まれた
ロジックで判定をおこなっています。

人がやれば簡単に突破できる
極めて単純な仕組みですが自動投稿ロボットにはこれが難しいのです。
いつか新手のロボットが現れるまでの繋ぎとはわかってますが
その時はまたプロファイリングしてロジックを組み直したいと思います。
ロボットを手先に、楽して一発儲けようとしてる
スパム業者なんぞには負けません。

それにしてもここ1ヶ月くらいで
コメントスパムのリクエスト数が激減。多い日でも3件程度に減りました。
このフィルタリングの影響・・・とは考え難いので
他にそれっぽい記事を見ないので
Waledacボットネットの件が影響してたのかな・・・。

さて最後に、WordPressのコメント投稿に
組み込んだ方法を紹介しておきます。
続きを読む

掲示板スパムを5秒でノックアウト

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

昨夜 Spamp の Bata5 をアップしたばかりだけど、気づいてしまったのだ。

掲示板(コメント)スパムボットには
フォームのリクエストから投稿があるまで
大抵1~3秒、長いものでも4秒までという投稿パターンがある。

これを応用して Spamp の セッション判定では
例えセッションが成立してても、あらかじめ設定した「待ち時間」を
経過しない投稿はスパムと判定しているんだけど、
掲示板スパムボットがCookieを送受することを逆手にとって
Cookieにも「待ち時間」を適用できるってことに気づいてしまったのだ。

フォームのリクエスト時にCookie送信。
この時 Cookieには タイムスタンプ を記録。

投稿のあった際、Cookie のタイムスタンプと現在時刻を比較し
待ち時間が経過してなければスパムと判定。

5秒あればスパムをフィルタリングできてしまいます。
これならSpampを使わずともいろんな掲示板に応用できる。
PHPに限らないし、改造もメチャ簡単。
フォームがあるものなら掲示板スパム・コメントスパムに限らずいけます。

SpampではCookieの整合性チェックもやってるので
もしタイムスタンプが改ざんされてもスパムと判定出来ます。
Cookieがなければスルーしてるけど
次はセッションの方でスパムを判定できます。

取り急ぎ、この判定コードを4行書き足してっと、アップし直しました。
Cookie、Javascript、Sessionに依存しないのが特徴。
掲示板スパム対策 ライブラリ Spamp Bata 5.1

掲示板スパムボット報告 – AHoo+C

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

掲示板スパムボット対策に新しいフィルターを試してます。
が、設置3日で不覚にも突破されました。
原因は、isSpam() が全く反対の判定結果を返してました。
こういうのがあるから先にテストケースを書くべきなんですね。

それにしても、設置から丸3日間は
投稿フォームを収集しに来た形跡が無かったことを考えると、
スパム投稿を防げることに加え、リクエストすら来なくなるので
Javascript等で投稿フォームを隠しておくことが
どれほど有効なのか良くわかります。

こんな対策を施してます:
JavaScript でスパム投稿対策
積極的なスパム投稿対策

ひさしぶりのスパム投稿なのでこの機会に
AHoo+C(勝手に命名)という掲示板スパムボットが
どんなやつなのかプロフィールをご紹介します。
続きを読む

クリックだけで絞り込み検索

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

久しぶりにアプリケーション作ってみた。
名づけて『クリックだけで絞り込み検索』

こんな感じのことをやってるサイトをどっかで見かけ
いいアイデアと思ったけど、したはずのブックマークがみつからず
薄れかけてる記憶をたどりながらノベ5日かけて完成しました。
出来るときは何でも一気にできてしまうものです。

一般にあまり使われない専門用語がたくさんある業界だと
キーワード検索で目的の商品にたどり着くのは困難だけど
あらかじめキーワードが羅列してあるこの検索方法なら
ユーザーは何かしら次のアクションが取れるわけです。
これをプルダウンメニューの絞込み検索にすると見通しが悪い。

クリックだけで絞り込み検索
うちわ検索

素材はクライアントさんの商品を流用させていただきましたので
この先はホントのECサイトにつながってます。

文字を打つことなくキーワードを足したり引いたり、
クリックだけで検索出来る利便性もさることながら、
この検索に感じる一番の魅力は
検索されるキーワードとランディングページの関連付けを
操作できる可能性を持っていることです。

絞り込まる程に特定のキーワードに特化した検索結果になるので
「検索エンジンで上位に来てるけど見せたいページじゃない」
といったジレンマを解消する内部的なSEO対策になると思います。
続きを読む

スパム業者から投稿フォームを隠す

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

またPHPの基礎体力掲示板の話。
今日のスパム投稿がこれ

59.42.230.94
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)

またまた手入力による投稿、大変ご苦労なことです。
Hostをみると中国からの投稿で
リクエスト履歴を追うとご丁寧に Referer を残してあります。
Googleで 「新規投稿 bbs」 を検索した結果からでした。
検索結果の表示開始が 240 となってるので
こうしてみつけた掲示板に手当たり次第投稿してるのでしょう。

決定的なスパム投稿対策ではありませんが
検索結果に投稿フォームのページが表示されなければ
こうした投稿もありませんので、検索エンジンがインデックスしないよう
いくつか対策を施してみました。
続きを読む

SQLインジェクション発見

[`evernote` not found]
[`grow` not found]
[`livedoor` not found]
[`yahoo` not found]
Delicious にシェア
このエントリーをはてなブックマークに追加

IPA情報処理推進機構さんで提供されてる
ウェブサイトの脆弱性検出ツール iLogScanner
昨年11月にバージョンアップしてました。
って、気付くの遅いですね。
気にしてたつもりでしたがアナウンスを見逃してたようです。

個人サイトだと、第三者から客観的に
サイト内を見てもらう機会ってそうありませんし
アプリケーションの現状での脆弱性を確かめられるので
まだの方は使ってみてください。

さて、PHPの基礎体力のココ2日分のアクセスログを
チェックしてみたところこの度はじめて検出されました。
SQLインジェクションが 176件、このうち
攻撃が成功した可能性の高い件数は 0件という結果です。

解析結果レポート

攻撃とみなされたアクセスは、こんな感じで解析ログに記録されます。

攻撃が検出されたログ

攻撃部分のコード掲載はやめときますが
すべて副問合せを含んだSQLだったので
うちのサーバではまったく機能しない攻撃でした。

とはいえ、持ちあわせの知識で
考えられる限りのこんな対策を施しています。
続きを読む

1 2 3 4

ホーム > タグ > PHP

Ad
Apache
MySQL
PHP
お気に入り
ん。。。。。。広告
アーカイブ
Ad

ページの上部に戻る