0

我正在使用 swfupload 的最新版本 2.2.0 和 rails 2.3.3。看到许多声明我必须用一段代码替换 CGI::Session.initialize 以从注入我的表单 url 的键值对中提取会话,我将代码段合并到我的环境中。 RB:

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 打包的会话 id 和真实性令牌中获得什么秘诀(它们也不是从 params 中提取的)?

4

1 回答 1

1

机架中间件救援

于 2009-08-04T12:24:28.673 回答