Member 14976405 Ответов: 1

Как получить информацию о клиентском устройстве в ASP.NET, с#


Hello Developers, I am stuck while fetching client side information of there device, I didn't want to show my server device info to client. i want who ever visit my site i get his/her Mobile/Laptop Name, Model, Os version, and all other info, Kindly help me out if some one knows , Thanks in advance , i HAVE Tried but this give me my server detail i didn't want that i want the client device info who ever visit my site


Что я уже пробовал:

protected void Page_Load(object sender, EventArgs e)
   {


       //devicename.Text = GetComputerName(Request.UserHostAddress);
        //Device Name\

       //IS 64 bit?
       bool os = Environment.Is64BitOperatingSystem;
       Label1.Text = os.ToString();

       //username Fetch
       string q1 = Environment.UserName;
       Label2.Text = q1;

       //Version Fetch

       string q2 = Environment.Version.ToString();
       Label3.Text = q2;

       //Os Version Fetch
       string q3 = Environment.OSVersion.ToString();

       HttpBrowserCapabilities browse = Request.Browser;
       string platform = browse.Platform;
       Label4.Text = platform;

       //Processor Count Fetch
       string q4 = Environment.ProcessorCount.ToString();
       Label5.Text = q4;

       //System Pages Fetch
       string q5 = Environment.SystemPageSize.ToString();
       Label6.Text = q5;

       //Working Set Fetch
       string q6 = Environment.WorkingSet.ToString();
       Label7.Text = q6;

       //Current Directory Fetch
       string q7 = Environment.CurrentDirectory.ToString();
       Label8.Text = q7;

       //Command Line Fetch
       string q8 = Environment.CommandLine.ToString();
       Label9.Text = q8;


       //Ip Address Fetch
       IPHostEntry host;
       string localIP = "?";
       host = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());

       foreach (IPAddress ip in host.AddressList)
       {

           if (ip.AddressFamily.ToString() == "InterNetwork")
           {

               localIP = ip.ToString();
               Label10.Text = localIP;
           }
       }


       //Current Data & Time Fetch
       DateTime date = DateTime.Now;

       location.Text = Convert.ToDateTime(date).ToString();

       //Mac Address Fetch
       string addr = "";
       foreach (System.Net.NetworkInformation.NetworkInterface n in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces())
       {
           if (n.OperationalStatus == System.Net.NetworkInformation.OperationalStatus.Up)
           {
               addr += n.GetPhysicalAddress().ToString();
               break;
           }
       }
       mac.Text = addr;

   }

F-ES Sitecore

Ваш код выполняется на сервере, поэтому он возвращает информацию о сервере. Вы можете получить от клиента только ту информацию, которую он отправляет в заголовках или которую можно определить с помощью javascript. Маловероятно, что вы сможете получить данные, которые вам нужны по соображениям безопасности.

1 Ответов

Рейтинг:
1

OriginalGriff

Ты не можешь.
Во-первых, код C# выполняется на сервере, поэтому любая информация, которую он собирает, будет связана с сервером, а не с клиентом.

Код Javascript выполняется на клиенте, и он не может получить доступ к системе пользователей, чтобы получить нужную информацию по соображениям безопасности.