0

私は自分のウェブサイトを閲覧している人物について以下のことを知りたいASP.Net Webサイトを持っています。

  1. OSのログインユーザー名。
  2. 正確な OS (OS の種類 - Windows、Mac など: OS のバージョン)。
  3. Macアドレス
  4. クライアント マシンの IP アドレス。

私の Web サイトは非常に安全な Web サイトであり、Web サイトにアクセスするために必要な場合は、ユーザーに ActiveX やアプレットをインストールするように強制できます。

そのための最善の方法を教えてください。

4

1 に答える 1

1

1 - OS のログイン ユーザー名

これは、Windows フォームを認証方法として使用している場合にのみ使用できます。フォームを使用している場合は、ログインしているアカウントで名前/ユーザーを簡単に取得できます。

2 - 正確な OS (OS のタイプ - Windows、Mac など: OS のバージョン)。

これをブラウザ エージェントと呼び、javascript で次のように使用して取得できます。

navigator.userAgent

3 - Mac アドレス

自分のサーバー (Web サイトをホストしているサーバー) の Mac アドレスのみを取得でき、サーバーが持つネットワーク デバイスと同じ数だけ取得できます。Mac アドレスは一意ではないことに注意してください。

4 - クライアント マシンの IP アドレス。

JavaScript だけでこれを取得する方法はありません。プログラミング言語を使用する必要があります。これを使用して、実際の IP アドレスを取得する必要があります。

string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(ip == "") { 
    ip = Request.ServerVariables["REMOTE_ADDR"]; 
}

すべて一緒に、jQuery を使用してシンプルにします。

<%
    string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if(ip == "") { ip = Request.ServerVariables["REMOTE_ADDR"]; }
%>
<script type="text/javascript">

  $(function() {

    var ipAddress = '<% = ip %>',
        browser = navigator.userAgent,
        username = <% = Session["username"] %>;

    // now send the data back to your server, if using jQuery, just do:
    $.get("/login-user.aspx", { 
            ip: ipAddress, 
             browser: browser, 
             user: username 
          }, function(data) {
             // use this if you return anything as a response             
          });
   });    
</script>

次に、http:// UserAgentString.com / API を使用してユーザー エージェント文字列を解析するか、navigatorオブジェクトを使用してブラウザ (またはサード パーティのライブラリ) から必要なものを取得できます...

于 2012-06-01T10:29:55.473 に答える