2009-08-04 8 views
0

swfuploadの最新バージョン2.2.0およびrails 2.3.3を使用しています。フォームURLに注入されたキーと値のペアからセッションを抽出するために、CGI :: Session.initializeをコードのチャンクに置き換えなければならないという声明をいくつか見てきたので、コードセグメントを自分の環境に組み込みました。 RB:Railsは、swfuploadによって送信されたデータからセッションをロードすることを拒否します。

require 'cgi' 
class CGI::Session 
    alias original_initialize initialize 
    def initialize(request, option = {}) 
     session_key = option['session_key'] || '_session_id' 
     query_string = if (qs = request.env_table["QUERY_STRING"]) and qs != "" 
      qs 
     elsif (ru = request.env_table["REQUEST_URI"][0..-1]).include?("?") 
      ru[(ru.index("?") + 1)..-1] 
     end 
     if query_string and query_string.include?(session_key) 
      option['session_id'] = query_string.scan(/#{session_key}=(.*?)(&.*?)*$/).flatten.first 
     end 
     original_initialize(request, option) 
    end 
end 

私はファイルがアップロードされているように正しくフォームパラメータにパックされているセッション情報が、上記のコードは、データベースからセッション情報をもたらすために発射されることはありません見ています。

params-packedセッションIDと真正性トークンから取得する秘密のソースは何ですか(それらはparamsから取得されません)。

答えて

1
+0

私はこの作業を取得し、どのくらい私はそれに投資してきた時、私はすべての可能性であれば、元の質問への答えを得ることを好むだろうに午前どれだけ近いかを考えます。私はラックのミドルウェアのページを見て、コードで実際の例を示していますが、参考のために調べることができる実行例はありません。もう一度、私はむしろ、私の現在の問題を解決してから、全体を廃棄し、新しいものに行く前に解決したいと思います。しかし、ありがとう。私は次の選択肢としてそれを保つつもりです。 – Sniggerfardimungus

+0

私が知っている限り、CGIのクッキーのすべては、現在使用しているレールのバージョンでは動作しません。 –

関連する問題