この記事は 高知工科大 Advent Calendar 2015 の 12/2 の記事です
皆さんこんにちは。2014 年度の高知工科大学卒業生である @pine613 です。
今日は、Google Chrome から利用できない、理系大学としてはありえない ポータルサイトが存在する大学についての話です。
- Google Chrome はブラウザシェア 1 位である
- それにもかかわらず、某大学のポータルサイトではサポートされない
- しかも UserAgent を書き換えれば突破できるザル実装である
このウェブサイトを構築した企業は恥ずべきで、正直エンジニアとしてありえないと思う- 今すぐインストール: 高知工科大学ポータルサイト - KUT Portal on Chrome
みなさん Google Chrome はご存知ですよね。
Google が開発しているブラウザで、デスクトップ版のブラウザシェアが 1 位なブラウザです。
- ブラウザのバージョン別シェアの統計情報 (2015年11月)
https://syncer.jp/stats-os-browser-version
スマートフォン版のブラウザシェアではそうではないですが、デスクトップから利用することを前提としている 某大学のポータルサイトは当然 Google Chrome から利用できるはずです。
あなたは、以下のメッセージを見たことがありますか?
某大学のポータルサイトは、Google Chrome はサポート対象外のブラウザだとバッサリ切り捨てているのです。 この大学に情報系の学科があるとは、にわかには信じがたい…。
ウェブページを表示する時に用いられている HTTP というプロトコルには UserAgent というヘッダがあり、以下のようにアクセスせすしてきた環境を示す文字列が含まれています。
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
上記は、Mac OS X 版の Google Chrome からアクセスした場合に利用される UserAgent です。
一見すると、これを使うとブラウザが判定できるように思えます。
しかし、ちょっと待って下さい。
情報系の学生ならピンとくると思いますが、この文字列は簡単に書き換えれてしまうんですね。しかも、ブラウザの標準機能 だけで。
そして、最近 Windows 10 と共に登場した Microsoft の新しいブラウザ Edge は、自身を Google Chrome であると名乗ります。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.<OS build number>
- Microsoft Edge のユーザー エージェント文字列
https://msdn.microsoft.com/ja-jp/library/hh869301(v=vs.85).aspx
このように UserAgent は全く信用できない情報であり、Microsoft は ウェブサーバーを騙すため に UserAgent を使っていることがわかります。
そして、現代においてブラウザとそのバージョン (= UserAgent) は星の数ほど存在します。 (たとえば、Google Chrome はバージョン 46 であるし、Firefox はバージョン 42 です)
すべてのブラウザ、すべてのバージョンに対して動くことを検証するのは現実的ではありませんので、UserAgent を用いた判定には限界があります。
現代において、某大学ポータルサイトのように UserAgent でウェブページの挙動を変えるべきではありません。
- ユーザー・エージェント文字列を使ってブラウザー単位で、使用可能なHTML5/CSS3機能を判定する方法は時代遅れだ。
http://www.buildinsider.net/web/modernizr/01
いくら開発要件を満たしていたと言っても 、あまりにも センスが無い と思います。
業務上そのようにするように指示されているのだと思いますが、これは 「 ちくしょう、転職だ! 」 と叫ばざるをえないです。
禁止されていても Google Chrome でポータルサイトを使いたい方は、以下の拡張機能をインストールすると使えるようになります。
やっていることは、容易に書き換えが可能である UserAgent を上書きしてるだけです。
インストールするだけで、設定不要で利用できるようになります。
(インストール後、一度 Google Chrome を再起動してから利用してください。)
- Google Chrome はブラウザシェア 1 位である
- それにもかかわらず、某大学のポータルサイトではサポートされない
- しかも UserAgent を書き換えれば突破できるザル実装である
- 今すぐインストール: 高知工科大学ポータルサイト - KUT Portal on Chrome
残りの大学生活を楽しく過ごしてください!