【问题标题】:How to set and read raw cookie in Ruby/Sinatra如何在 Ruby/Sinatra 中设置和读取原始 cookie
【发布时间】:2014-09-17 14:53:09
【问题描述】:

我有一堆域,例如 store.example.com、user.example.com、intranet.example.com,每个域都可以读取 cookie。但是,我有一个 Sinatra 应用程序,它通过执行类似 session[:field] = value

的操作来编写 cookie

当我检查 cookie 时,我得到如下信息:BAh7CUkiD3Nlc3Npb25faWQGOgZFVEkiRTcwNmUwYTU1MjBmMzUyMTZiYzQ0%0ANjZhZDBkOGFmNmFhN2M3OGIxZTM3NGNjMDZiYmRkNDE2MmVlMDU2MWY2MTQG%0AOwBGSSIJY3NyZgY7AEZJIiVkMWUyYzI0NmEwZThiNjVhM2FlZGJjNWFhMzlk%0AYzc0YQY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi0xZDQ3MmI3NDZiMjFhNmJlNmYyMmUxMGU1MzI3N2Q5MmVlYmQ1N2Qx%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTY2ZWFlOTcxNDky%0AOTM4YzJkY2MyZmIxZGRjOGQ3ZWMzMTk2MDM3ZGEGOwBGSSIQdXNlcl9zZWNy%0AZXQGOwBGSSIlMjg3NjdkMGVmNmZlOGUwMDIxMDRmODhiZDcwZTI1OTYGOwBU%0A--e8ca14be9bbe63226fd2d6e0f8c0b3946cc66fd0,它似乎是 base64 编码和加密的。

我的问题是如何编写一个“原始”cookie,让所有尝试使用它的子域都可以轻松读取它?它不需要加密和/或编码。

【问题讨论】:

    标签: ruby cookies session-cookies


    【解决方案1】:

    使用 Sinatra Cookie http://www.sinatrarb.com/contrib/cookies.html

    require "sinatra/cookies"
    cookies[:something] = 'foobar'
    

    您还可以在请求对象中读取原始 cookie:

    request.cookies 
    

    Accessing the Request Object中所述

    还有响应对象的set_cookie方法

    response.set_cookie("my_cookie", :value => "value_of_cookie",
                        :domain => myDomain,
                        :path => myPath,
                        :expires => Date.new(2020,1,1))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2023-04-07
      • 2013-08-01
      • 1970-01-01
      相关资源
      最近更新 更多