2017-10-16 14 views
-1

これが可能かどうかを知りたいだけです。もしそうなら、どうですか?Rails 5はInternet Explorerへのアクセスを無効にしますか?

IEやVivaldiなど、さまざまなブラウザのユーザーをブロックしたいと考えています。これはどのようにして行われますか? Javascriptを通して?もしそうなら、それはなりすますことができますか?または、サーバー側の構成ブロックアクセスもできますか?

+0

を見てみましょうあなたがチェックすることができますあなたのコントローラ内のユーザエージェントを起動し、それに基づいて差分応答を与えます。 (ここでは、UAを解析するための1つの宝石があります:https://github.com/gshutler/useragent)。ブラウザはユーザーエージェントを変更することができます(たとえば、Chromeデベロッパーツールで表示するなど)、これはなりすましを行うことができます。 – hoffm

答えて

0

受信リクエストをブロックする場合は、コントローラではなくラックレベルで行う方がよいでしょう。

あなたは高度な機能が必要な場合は、Rack::Attackのようないくつかのミドルウェアを使用

module Rack 
    class BrowserBlocker 
    def initialize(app) 
     @app = app 
    end 

    def call(env) 
     useragent = UserAgent.new(env["HTTP_USER_AGENT"].to_s) 
     if (useragent.name == :ie) 
     #block action here 
     #redirect or show a page 
     else 
     #pass action here, usually @app.call(env) 
     end 
    end 
    end 
end 

(テストされていない)、このような独自のミドルウェアを記述する必要があり、blocklists

関連する問題