我想确定用户是否刚刚在我的Rails应用中启动了新会话。我目前正在使用HTTP referer来定义新会话的内容。但我不确定这是不是正确的方法。以下代码是用Ruby编写的。
if !request.referrer || !request.referrer.start_with?(request.protocol + request.host_with_port)
# If the user came from another site or came here directly, then we regard it as a new session
else
# Not a new session
end
答案 0 :(得分:0)
您可以在用户首次访问时在会话中存储属性。如果设置了属性,那么您可以安全地断定他们之前访问过您的网站。
但是,如果未设置该属性,那么它可能意味着许多事情:
这是你编码的方式
if session.has_key?(:visited_before)
# user has visited before
else
# new user
session[:visited_before] = true
end
你应该警惕