在 Ruby CGI 编程中,实现会话(Session)的一种常见方式是使用 CGI::Session 类。CGI::Session 类提供了一种简单的方法来管理用户的会话信息,并将其存储在服务器端。

以下是一个简单的 Ruby CGI 会话的示例:
require 'cgi'
require 'cgi/session'

cgi = CGI.new

# 创建一个会话,如果会话已存在,则加载现有会话
session = CGI::Session.new(cgi)

# 设置和获取会话数据
if session['counter'].nil?
  session['counter'] = 1
else
  session['counter'] += 1
end

counter = session['counter']

# 输出 HTML 页面
cgi.out("text/html") do
  "<html><head><title>Session Example</title></head><body>" \
  "<h1>Session Counter</h1>" \
  "<p>Counter: #{counter}</p>" \
  "</body></html>"
end

# 关闭会话
session.close

在这个例子中,我们使用 CGI::Session.new(cgi) 创建一个会话对象。会话对象允许我们像使用哈希一样设置和获取会话数据。在这个例子中,我们使用 session['counter'] 来存储一个计数器,每次访问页面时递增。

请注意,实际生产环境中,你可能需要更多的安全性和配置选项,例如设置会话的过期时间、存储位置、安全标志等。如有其他问题,请随时提问。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13448/Ruby