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