3
Quora的一个重要特性是,它能够在您注销时告诉您其他计算机的登录凭据(即您的会话)是否仍然有效。它能够查看该会话何时开始,并记录该会话。如何跟踪用户当前登录的终端?
Quora能做到这一点怎么样?如何去复制这个功能呢?
我在轨道上做了大部分Ruby编码,所以如果有人想在这种情况下回答,那将是很棒的,但我很乐意看到答案。
Quora的一个重要特性是,它能够在您注销时告诉您其他计算机的登录凭据(即您的会话)是否仍然有效。它能够查看该会话何时开始,并记录该会话。如何跟踪用户当前登录的终端?
Quora能做到这一点怎么样?如何去复制这个功能呢?
我在轨道上做了大部分Ruby编码,所以如果有人想在这种情况下回答,那将是很棒的,但我很乐意看到答案。
向服务器发出HTTP请求时,与请求一起发送的标头包括发出请求的IP地址。您的控制器中提供了全套标题,并且request.client_ip
的IP地址可随时使用。
要获得与该IP地址相关的主机名,你需要做一个“反向DNS查找”像这样:
require "socket"
Socket.gethostbyname(request.client_ip)
这也许值得有点库app/lib
,你可以在require
application_controller.rb
。这只是几行代码,但要求一个好名字:-)