最新の記事 [RSS]
久しぶりの3巻超え スペちゃん 【図解のみ】さくらのドメインで取得した独自ドメインをBlueskyのハンドルにする方法【忙しい人向け】 事が起きたらそれはインシデントではなくアクシデント 円盤も電子化してくれたら青天井なのに みゃー姉じゃなくても連写したくなる 16年の時を超えて青空へ・・・16年!!? 劇場版 サンザイ・オブ・ザ・サンザインズ 〜ATHの逆襲とWHの残光〜 HTMLとDKIMとDMARCと たぶん最後のクマーーーーーー!!!\(^o^)/

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