【问题标题】:Correct way to implement session in G-WAN's Ruby [closed]在 G-WAN 的 Ruby 中实现会话的正确方法 [关闭]
【发布时间】:2013-07-22 09:00:42
【问题描述】:

在 G-WAN 的 Ruby 上实现会话的正确方法是什么,这是我的想法:

  1. 如果不存在则发送一个随机cookie,或者GUID cookie 可以吗?但是如何在 G-WAN 的 Ruby 上读写 Cookie?文档仅显示 C 上的示例
  2. 如果 /tmp/rubysessid-#{cookie_GUID} 上不存在文件,则创建一个文件,就像 PHP 所做的那样
  3. 读取每个请求的内容,并在更改时重写

但问题是:同一时间来自同一来源的 2 个请求会同时重写 cookie 文件内容,从而可能导致数据损坏或不一致

有没有更好的方法在 G-WAN 的 Ruby 上实现会话?

【问题讨论】:

    标签: ruby session cookies g-wan


    【解决方案1】:

    Web 框架使用数据库或键值存储(有时称为字典)来跟踪会话。

    我不是 Ruby 开发人员,但我想这些功能是可用的。

    G-WAN 允许您从 Ruby 访问 HTTP 请求标头(就像从 15 种编程语言中的任何其他语言一样),因此访问 HTTP cookie 确实没有问题。

    “文档只显示了 C 中的示例”,因为 G-WAN 是用 C 语言和 C 脚本编写的。

    在那里,用为 C/C++ 等制作的 G-WAN API 填补空白是有意义的。

    在 Ruby 和其他经常用于 Web 开发的脚本语言中不存在这种差距,人们有很多选择来解决这些问题。

    在 Ruby 和其他的情况下,G-WAN 的用处不是因为它的 API(而是使用 CGI),而是因为它的速度和易用性(除此之外,我想到了零配置)。

    【讨论】:

    • 而 G-WAN 允许您从 Ruby 访问 HTTP 请求标头 --> 怎么样?
    • 使用 CGI 环境变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 2013-05-30
    • 1970-01-01
    • 2016-08-31
    • 2020-03-13
    • 2023-04-09
    • 2017-04-06
    相关资源
    最近更新 更多