ホーム > PHP

PHPのアーカイブ

オレおれコーディング指針

PEARなどの有名どころのライブラリーやアプリケーションには
「コーディング規約」としてプログラミングの際の約束ごとがあります。
覚えることが多い頃には正直めんどくさくて見てません、
というより見る余裕がありませんでした。

そんなころに書いたコードにちょっと変更を加えたらエラー連発!
エラーが出るのはマシな方で、エラーも出てないのに
意図した通り動かない!って経験を何度か繰り返してるうちに
「コーディング規約」は必要だよなと思えるようになりました。

まあ、意図した通りに動かなかったのはこんなのでした。

// 本来↓こう書くべきところを
if ($car == 'skyline')

// ↓こうしてしまった単純なタイプミス。
if ($car = 'skyline')

これでも構文エラーにならなのでミスに気づけない、はまってしまうワナ。
もし↓こう書いていれば構文エラーですぐに原因を発見できたのですよ。
if ('skyline' = $car)

大きな時間の浪費につながる単純ミスをおかさないため
絶対やるようになった「オレおれコーディング指針」がこれ。
続きを読む

WordPressテーマに仕込まれるワームが巧妙過ぎ

こちらの記事に即反応して確かめました。
それらしいものは検索にかからなかったのでほっとしてます。

WebTecNoteさん
[wp] WordPressテーマのfunctions.phpに仕込まれるワームについて

危険度合いもさることながら、巧妙過ぎで容易に気付けないのが恐ろしい。
多彩なテーマがフリーで手に入るWordpresだけに広がりやすくてまた怖い。
注意を促すため書きとめときます。

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

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

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

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

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

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

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

攻撃的?なリクエストをフィルタリングしてみる

PHPプログラミングを扱ってるからでしょうが
毎日なにかしらの攻撃的なリクエストがあります。

特定のURLに誘導するものとか、サーバーのコマンドを実行するものとか
SQLインジェクションとか、アプリケーションの脆弱性をつくものとか・・・
まあ、アクセスログにはいろいろと記録されてます。

4/2はこんな感じでした。
脆弱性をつく攻撃的なリクエストの図

攻撃者が、任意のコードやコマンドをうちのサーバーで
なんとか実行させようと試みてるのがみてとれます。

うちのサイトでこのようなリクエストは全部 Error404 ってことになり、
レスポンスにボディーは無し、コマンドも実行されることもありません。
今日は攻撃的なリクエストのフィルタリングについて書いてみます。
続きを読む

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

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

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

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

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

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

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

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

SQLインジェクション発見

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

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

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

解析結果レポート

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

攻撃が検出されたログ

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

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

ホーム > PHP

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

ページの上部に戻る