Quora的一个重要特性是,当您退出时,它能够告诉您其他计算机的登录凭据(即您的会话)是否仍然有效。它可以查看该会话何时开始,并记录该会话。
Quora是如何做到这一点的?怎么会复制这个功能呢?
我在ruby on rails上做了大部分编码,所以如果有人想在这种情况下回答它会很棒,但无论如何我都愿意看到答案。
答案 0 :(得分:0)
当您向服务器发出HTTP请求时,与请求一起发送的标头包括发出请求的IP地址。控制器中提供了完整的标头集,request.client_ip
可以随时使用IP地址。
要获取与该IP地址关联的主机名,您需要执行“反向DNS查找”,如下所示:
require "socket"
Socket.gethostbyname(request.client_ip)
这可能需要保证app/lib
中的一个小图书馆,require
application_controller.rb
{{1}}。它只有几行代码,但需要一个好名字: - )