Hướng dẫn get device id from browser php - lấy id thiết bị từ trình duyệt php

Tôi đang tìm kiếm một cái gì đó cho phép tôi lấy thiết bị (PC, Mac, điện thoại và máy tính bảng) ID duy nhất như địa chỉ MAC.

Tôi cần theo dõi tất cả các thông tin đăng nhập vào một khu vực được bảo vệ nhưng tôi không thể tìm thấy một ID duy nhất mà tôi có thể xác định thiết bị đã sử dụng.

Tôi cần điều đó bởi vì tôi muốn người dùng đăng ký thiết bị của họ và sau đó chỉ để họ đăng nhập với điều đó. Cảm ơn

Đã hỏi ngày 7 tháng 2 năm 2019 lúc 17:53Feb 7, 2019 at 17:53

Hướng dẫn get device id from browser php - lấy id thiết bị từ trình duyệt php

1

Bạn có thể thực sự. Nó sẽ là một rủi ro bảo mật/quyền riêng tư rất lớn để làm điều đó. Tuy nhiên, có một số điều bạn có thể làm để đến gần:

  1. Thêm cookie vào thiết bị đó với UUID

  2. Dấu vân tay - Sử dụng tất cả các cài đặt trình duyệt có sẵn cho các JS như Agent trình duyệt, phông chữ được cài đặt, v.v.

  3. Địa chỉ IP. Nó không hoàn hảo nhưng có thể làm một cái gì đó và có nhiều cách để loại bỏ một mức độ che giấu nhỏ. Đây là một ví dụ trong PHP: Làm thế nào để lấy IP thực từ khách truy cập?

Kết hợp tất cả những điều này với nhau sẽ có thể cung cấp cho bạn một cái gì đó gần với những gì bạn muốn. Nó có thể không hoàn toàn bảo vệ nó, nhưng nó sẽ cung cấp một số hình thức của nó.

Đã trả lời ngày 7 tháng 2 năm 2019 lúc 18:11Feb 7, 2019 at 18:11

Bilaal Rashidbilaal RashidBilaal Rashid

7782 Huy hiệu vàng14 Huy hiệu bạc21 Huy hiệu đồng2 gold badges14 silver badges21 bronze badges

JavaScript là ngôn ngữ lập trình cấp cao không thể giúp bạn lưu trữ thông tin đó. Tương tự áp dụng cho PHP là tốt.

Tuy nhiên, bạn có thể muốn xem xét việc sử dụng cookie để đạt được mục tiêu của mình. Bạn có thể sử dụng thuật toán mật mã và lưu trữ nó trong cookie và bạn có một định danh duy nhất.

Đã trả lời ngày 7 tháng 2 năm 2019 lúc 17:58Feb 7, 2019 at 17:58

1


0

Phát hiện chi tiết thiết bị trong PHP

Có phải sử dụng PHP trong một thời gian và hiện đang làm việc trên miền di động? Rào cản đầu tiên bạn phải đối mặt là 'Cách xác định loại thiết bị trong PHP', trừ khi bạn sử dụng HTACCess cho điều đó, đó không phải là cách tiếp cận đúng. Vì vậy, ở đây tôi đang viết một lớp học sẽ giúp bạn có khá nhiều thông tin về thiết bị. Bạn có thể nhận được nhiều hơn bằng cách xử lý chuỗi user_agent!

  'Windows Phone 8',
                            '/windows phone os 7/i' =>  'Windows Phone 7',
                            '/windows nt 6.3/i'     =>  'Windows 8.1',
                            '/windows nt 6.2/i'     =>  'Windows 8',
                            '/windows nt 6.1/i'     =>  'Windows 7',
                            '/windows nt 6.0/i'     =>  'Windows Vista',
                            '/windows nt 5.2/i'     =>  'Windows Server 2003/XP x64',
                            '/windows nt 5.1/i'     =>  'Windows XP',
                            '/windows xp/i'         =>  'Windows XP',
                            '/windows nt 5.0/i'     =>  'Windows 2000',
                            '/windows me/i'         =>  'Windows ME',
                            '/win98/i'              =>  'Windows 98',
                            '/win95/i'              =>  'Windows 95',
                            '/win16/i'              =>  'Windows 3.11',
                            '/macintosh|mac os x/i' =>  'Mac OS X',
                            '/mac_powerpc/i'        =>  'Mac OS 9',
                            '/linux/i'              =>  'Linux',
                            '/ubuntu/i'             =>  'Ubuntu',
                            '/iphone/i'             =>  'iPhone',
                            '/ipod/i'               =>  'iPod',
                            '/ipad/i'               =>  'iPad',
                            '/android/i'            =>  'Android',
                            '/blackberry/i'         =>  'BlackBerry',
                            '/webos/i'              =>  'Mobile');
    $found = false;
    $addr = new RemoteAddress;
    $device = '';
    foreach ($os_array as $regex => $value) 
    { 
        if($found)
         break;
        else if (preg_match($regex, $user_agent)) 
        {
            $os_platform    =   $value;
            $device = !preg_match('/(windows|mac|linux|ubuntu)/i',$os_platform)
                      ?'MOBILE':(preg_match('/phone/i', $os_platform)?'MOBILE':'SYSTEM');
        }
    }
    $device = !$device? 'SYSTEM':$device;
    return array('os'=>$os_platform,'device'=>$device);
 }

 public static function browser() 
 {
    $user_agent = $_SERVER['HTTP_USER_AGENT'];

    $browser        =   "Unknown Browser";

    $browser_array  = array('/msie/i'       =>  'Internet Explorer',
                            '/firefox/i'    =>  'Firefox',
                            '/safari/i'     =>  'Safari',
                            '/chrome/i'     =>  'Chrome',
                            '/opera/i'      =>  'Opera',
                            '/netscape/i'   =>  'Netscape',
                            '/maxthon/i'    =>  'Maxthon',
                            '/konqueror/i'  =>  'Konqueror',
                            '/mobile/i'     =>  'Handheld Browser');

    foreach ($browser_array as $regex => $value) 
    { 
        if($found)
         break;
        else if (preg_match($regex, $user_agent,$result)) 
        {
            $browser    =   $value;
        }
    }
    return $browser;
 }
}

Now, you can use it like this:

$detail = Detect::systemInfo();

to check if it's a mobile, you can use,

if($detect['device']=='MOBILE')
{
/* Your code for mobile devices */ 
}
else 
{
 /* Your code for desktop systems */ 
}

Vì vậy, bây giờ bạn có thể sử dụng nó như thế này:

$detect = Detect::systemInfo();

Để kiểm tra xem thiết bị có phải là thiết bị di động hay không, bạn có thể làm như thế này không:

if($detect['device']=='MOBILE')
{
/* Your code for mobile devices */ 
}
else 
{
 /* Your code for desktop systems */ 
}

Tôi có thể lấy ID thiết bị với PHP không?

Bạn sẽ không nhận được ID thiết bị thực trong $ _Server.Tác nhân người dùng cũng không chứa thông tin đó.Bạn không thể truy cập dữ liệu đó chỉ bằng cách sử dụng PHP hoặc bất cứ thứ gì khác, không được thực thi trên điện thoại.. User agent does not contain that info as well. You cannot access that data just using php or anything else, that is NOT executed on phones.

Làm thế nào tôi có thể nhận được một ID thiết bị duy nhất trong JavaScript?

Không có cách nào để có được bất kỳ loại định danh nào thực sự độc đáo và không thể thay đổi từ khách hàng.Điều này có nghĩa là không có địa chỉ MAC, số sê -ri, IMSI hoặc bất kỳ thứ nào khác.. This means no MAC address, serial number, IMSI, or any of those other things.

ID thiết bị trong Flutter là gì?

Nó cho thấy cách chi tiết thiết bị sẽ hoạt động bằng cách sử dụng gói Device_info trong các ứng dụng Flutter của bạn.Nó hiển thị khi người dùng nhấn vào nút nâng cao, thiết bị độc đáo Andriod/IOS thông tin như tên thiết bị, phiên bản, định danh, vv hiển thị trên màn hình của bạn.Nó sẽ được hiển thị trên thiết bị của bạn.device_info package in your flutter applications. It shows when the user tap on the raised button, the unique device Andriod/Ios information like device name, version, identifier, etc shown on your screen. It will be shown on your device.