2012-03-15 9 views
3

Quoraの大きな特長の1つは、ログアウトすると、ログイン資格情報(つまりセッション)が他のどのコンピュータから有効であるかを教えてくれることです。そのセッションの開始時刻を確認し、そのセッションをログアウトすることができます。ユーザーが現在ログインしている端末をどのようにトラッキングできますか?

どのようにしてQuoraがこれを行うことができますか?この機能をどのように複製するのでしょうか?

私はRubyでほとんどのコードを書いていますので、誰かがその文脈で答えたいと思うなら、それはすばらしいでしょうが、私は無関係に答えを見ることができます。

答えて

0

サーバーにHTTP要求を行うと、要求と共に送信されたヘッダーには、要求の発信元のIPアドレスが含まれます。あなたのコントローラーでフルセットのヘッダーが利用可能で、IPアドレスはrequest.client_ipですぐに利用できます。

そのIPアドレスに関連付けられたホスト名を取得するには、このように「逆DNSルックアップ」を行う必要があります:

require "socket" 

Socket.gethostbyname(request.client_ip) 

をこれはおそらくapp/libで少しライブラリーを保証されことができますrequireapplication_controller.rbを中。ほんの数行のコードですが、素敵な名前をお願いします:-)

関連する問題