パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

OperaからMSNへのちょっとした仕返し」記事へのコメント

  • 参考資料

    などを参考に手元でいろいろと試してみた。詳細は割愛しますが、

    1. Opera 6.xに送られてくるCSSは、古いNetscape Navigatorでそれなりに ちゃんと見えるように細工されたものである
    2. User-agent名のOperaを他の名前(Oprahなど)にすると、IE6用のCSSが送られてくる
    3. さらに"MSIE 6.0"等の文字を削ると、やはり(1)で送られてくる 壊れたCSSが送られてくるようになった

    という実験結果から考えるに、User-agent名を見てうまく判断できな

    • by yg (12833) on 2003年02月16日 22時48分 (#260495)
      最初に引用されている大元のWhy doesn't MSN work with Opera [opera.com]から判断するに、
      「どのCSSを返すかを決定する部分が単にポカだっただけなんじゃないですかね。」とは、思えません。
      Operaを特別扱いしようとしてポカったのならわかりますが。

      これらの外部の結果から推測すると、次のような手順を踏んでいると思われます。
      1. MSIE6.0などの文字列を含むかどうかで、IE6.0かどうかを判定している
      2. しかし、Operaなどの文字列も含む場合に限り、知らないブラウザと判定する

      この判定の結果、Opera 7の場合、デフォルトのsite.cssが戻されるが、
      これが間違った処理をするNN4に向けてのおかしなCSSであるため、
      こわれた表示になる。(知らないブラウザに規格外のCSSなのは、おいときます)

      どうしてこのような手順が推測されるかの理由は、リンク先にある次の3つの現象からです。なお、1と2を逆の順に判断している可能性もありますが、
      いずれにしても、Operaを特別扱いしている点では同じでしょう。
      + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"の場合、site-win-ie6.cssを戻す(IE6.0の場合)
      + "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.0 [en]"の場合、site.cssを戻す(Opera 7の場合)
      + "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Operh 7.0 [en]"の場合、site-win-ie6.cssを戻す(Operaを別の文字列に書き換えた場合)

      # 2番目はリンク先ではwgetの引数の「Operh」が「Opera」に間違っている部分があります。

      このため、MSNは(MSIE6.0の振りをする)Opera 7を意図的に、
      IE6.0と区別しようとしていると、私ならば判断します。
      これだけでは、攻撃をしようとしているかどうかはわかりませんが、
      前にIE以外を意図的に排除し、それを認めたことがあるにもかかわらず、
      それなりの声明をださずに修正するあたりがあやしいと考えます。

      なお、
      > (今現在では"Opera 7.0"は特別扱いのようで、IE6用が返ってくる)
      は、逆で、特別扱いするようにしたのではなく、
      上記2のステップ相当の特別扱いをやめただけと推測できます。
      親コメント
      • by yg (12833) on 2003年02月16日 23時12分 (#260506)
        >> (今現在では"Opera 7.0"は特別扱いのようで、IE6用が返ってくる)
        >は、逆で、特別扱いするようにしたのではなく、
        >上記2のステップ相当の特別扱いをやめただけと推測できます。

        wgetで調べなおしてみたら、この件は私の間違いのようです。
        ”Opera 7”だけ特別扱いのようです。すいません。

        つまり、”Opera 6.0"や"Opera 8.0"は、デフォルトのsite.cssですが、
          "Opera 7.1"や"Opera 7.3"は、IE6用が返ってきました。
        で、わらえるのが、"Opera 74”でもIE6用が返ってくるところです。

        いずれにしても、IEの振りをするOperaを意図的に、
        IE6と区別しようとしているとは思います。
        まあ、悪意なく間違えただけなら間違えましたごめんと
        言えばいいのにと思うのはだめ?
        親コメント

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

処理中...