【发布时间】:2017-12-07 04:28:16
【问题描述】:
我很高兴将东西扔到会话中,而不是直接保存到数据库中(如多步表单),并认为这 4kb 绰绰有余。因为我使用了 Devise,所以我认为它使用了一些会话存储,但在我尝试 p session 和 OH 之前感觉很安全!我的终端无法打印其中的所有数据。这些数据很难理解 - 我传递了一些项目,还有一些本地路线和其他奇怪的东西。
所以不,我想知道如何在某些阶段检查它的大小?我发现了类似的question,但之后我得到@encryptor为未定义/无..
也试过了:
@encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: encrypted_cookie_cipher, serializer: SERIALIZER)
data = session.to_hash.delete_if { |k,v| v.nil? }
data = @encryptor.encrypt_and_sign(serialize(name, data))
p data.bytesize
但是secret 是未定义的:
未定义的局部变量或方法`secret'
【问题讨论】:
-
什么是
secret?,在哪里定义的? -
link - 我知道它是在那里定义的局部变量,但如果我复制/粘贴它的定义,那么
request也将是未定义的。或者它可能是 Ruby 中的某种全局变量..? -
你发给我代码,但是是Rails存储库,不应该是
ActiveSupport::MessageEncryptor.new('secret', 'signature_secret'),以secret为密钥吗?字符串数据类型对象? -
来吧,没有人能解释如何做到这一点..? @Sebastian Palma - 抱歉,我不太了解该代码
-
我不能:c,我昨天尝试检查 cookie 大小,但没有运气。那是你真正想要的吗? cookie 大小,仅此而已?
标签: ruby-on-rails session-cookies