質問: IE10以下, Safari 5以下, Chrome 5以下, Firefox 4以下, Opera 11.5以下のレガシーブラウザからのアクセスをサーバサイドで判定し、アプリケーションがお使いのブラウザでは動作しないメッセージを伝えたいと思っています。 おそらくUserAgentを利用して判定をすることになると思われますが、具体的に上記の条件に当てはまるコードを作成するにはどうすればいいのか検索してもわかりませんでした。 また、該当するブラウザからのアクセスがあった場合、404や500などのHTTPステータスを返す必要があると思いますが、このようなアクセス拒否の場合、どのHTTPステータスを返せばよろしいでしょうか? http://www.asahi-net.or.jp/~ax2s-kmtn/ref/status.html 上記のサイトを見る限りでは403: Forbidden(サーバーはリクエストを理解したが、そのリクエストの実行を拒否した。アクセス権限がない時など)が一番適切な気がしていますが、皆さんの意見をお聞きしたいです。
回答: 例えば、gshutler/useragentのような、ユーザーエージェントを判定するGemもあります。 なお、ステータスコードに関しては403か404といったところだと思います。