6

私は常にこのエラーを受け取るomniauthを使用するSinatraアプリを持っています

attack prevented by Rack::Protection::SessionHijacking

(Googleアカウントを使用して)ログインしようとしたとき。

他のバージョンのIE、およびchrome / firefox/safariで正常に動作します。

私のセットアップは

rack (1.4.1)
rack-force_domain (0.2.0)
rack-protection (1.2.0)

sinatra (1.3.2)
  rack (~> 1.3, >= 1.3.6)
  rack-protection (~> 1.2)
  tilt (~> 1.3, >= 1.3.3)
omniauth (1.0.3)
  hashie (~> 1.2)
  rack

omniauth-google-oauth2 (0.1.9)
  omniauth (~> 1.0)
  omniauth-oauth2
omniauth-oauth2 (1.0.0)
  oauth2 (~> 0.5.0)
  omniauth (~> 1.0)

なぜこれが起こるのか誰もが知っていますか?

4

2 に答える 2

8

このモジュールは、USER_AGENTなどのプロパティを追跡します(https://github.com/rkh/rack-protection/blob/master/lib/rack/protection/session_hijacking.rbで確認できます)。このエラーは、おそらくセッション中にこれらのプロパティの1つが変更されたことが原因です。このモジュールを無効にしただけですべてが機能するかどうかをテストしてみてください。

set :protection, except: :session_hijacking
于 2012-04-11T09:12:40.040 に答える
0

ラック保護gemをv1.5.2または1.5.3(最新)にアップグレードしてみてください。

彼らは、session_hijackingライブラリからHTTP_ACCEPT_ENCODINGの追跡を削除しました。

于 2014-09-18T06:56:10.337 に答える