【问题标题】:How can I make CGI::Session store session data on the server side using Perl?如何使用 Perl 在服务器端制作 CGI::Session 存储会话数据?
【发布时间】:2011-11-25 17:43:36
【问题描述】:

有没有办法让 CGI::Session 将会话 ID 存储在 cookie 或查询字符串之外的其他东西中?

【问题讨论】:

  • 你想把它存储在哪里?您可以手动将其放入 Javascript 变量或 DOM 元素属性中,但您还需要确保它仍能再次到达服务器。

标签: perl session cgi


【解决方案1】:

在 cookie 或查询字符串中存储会话 ID 是 HTTP 协议允许在每个请求上传输会话 ID 的仅有的两种方式。如果将其存储在其他地方,则客户端和服务器无法知道它们正在使用同一个会话。

【讨论】:

    【解决方案2】:

    您可以要求 CGI::Session 将会话数据保存在您选择的数据库中。对于 MySQL,您可以这样做:

    use CGI::Session;
    $session = new CGI::Session("driver:MySQL", undef, {Handle=>$dbh});
    

    详情请见CGI::Session::MySql

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-23
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 2011-10-03
      • 1970-01-01
      相关资源
      最近更新 更多