最新の記事 [RSS]
アリスがしゃべった記念日 厳密にはモブ扱いでかなり小さく1コマだけ 無計画なスマートホームの惨状 つい最近戦力外になった秘密結社の自称妹 スウィートな日々よ、永遠に! 犯人はお前か??? HDMIケーブルを交換したら解像度が下がった話 echoシリーズ最終形態 すごいぞ! Fire HD 8 2022Q2不動産2丁目

[PR] シュールな異世界【うらら島】(あつまれ どうぶつの森 観光案内メーカー)


MultiViewsの憂鬱

アクセスログを眺めていると変なヤツがおります。 クローラだか、スパイダーだか、面倒なのでクローラと書きますが、そういう類いの中には、絶対パスを相対パスと解釈する「おバカさん」が数匹。

例えば「/bbs/bbs.cgi」へ記述された「/bbs/bbs.cgi」をたどる場合、「/bbs/bbs.cgi」をリクエストするのが正解。 取得済みURLなので本当は「なにもしない」が正解ですが。 さておき、上記のクローラは絶対パスを相対パスと解釈するので「/bbs/bbs/bbs.cgi」をリクエスト。 以降 ────

  1. /bbs/bbs.cgi
  2. /bbs/bbs/bbs.cgi
  3. /bbs/bbs/bbs/bbs.cgi
  4. /bbs/bbs/~省略~/bbs.cgi

最初以外は存在しないから無視すればいいさ。 まして3番目以降のリクエストはあり得ない。 ところが、そうは問屋が卸さない。 どういうわけか、上記のステータスはすべてHTTP200!? おかげさまで、クローラは再帰的に無限個数のページをたどるべく3時間で4万PVという軽い営業妨害。 なんだよこれ・・・

.htaccessの不具合を疑い最終的にファイルの抹消まで試みましたが事態は解決せず。 うん、なるほど。 とりあえず、自分は悪くない。 というわけで、サーバの仕様を調べたところ・・・

MultiViewsが有効になってる(;´Д`)

「MultiViews」というのは、要するに、拡張子を省略しても、上手いことゴニョゴニョしてくれる、ありがた迷惑な機能。 迷惑度はPHPの「Magic Quotes」に次ぐとか次がないとか・・・

MultiViewsの作用で「/bbs/bbs/bbs.cgi」は「/bbs/bbs.cgi/bbs.cgi」と勝手に解釈。 「/bbs.cgi」をパラメータとする「/bbs/bbs.cgi」のリクエストとして有効。 以下省略。

面倒くせぇ(ノД`)

MultiViewsを無効にすれば済む話ですが、サーバの制限でOptionsはいじれない。 仕方がないので上記のようなリクエストは是が非でもHTTP403。 超乱暴。 ところが、治まらないんだ、これが。 よくよく考えたら、エラーページも正常なページも根本的な中身はたいして変わらないじゃん・・・

「おバカさん」にステータスの解釈を求めた私が「おバカさん」でした(T^T)

作戦変更。 上記のようなリクエストは是が非でも中身が「空」のHTTP404。 中身が「空」では手も足も出まい。 かくして、一件落着したわけですが・・・

面倒くせぇ(ノД`)

2007年 3月 19日 [この記事のURL] [コメント(2件)]


コメント


面倒くせぇ(ノД`)

と言いつつ、先に問題解決してくれる人がいるってのは助かるものだw ガンガレ。

るりるり | 2007/03/19 09:57


面倒くせぇ(ノД`)

Y.Kumagai | 2007/03/19 23:15