Hướng dẫn php get client machine id - php lấy id máy khách

Tôi có một ứng dụng web sẽ chạy n một số máy mục tiêu cụ thể. Tôi có thể có người dùng chọn máy nào khi anh ấy đăng nhập, nhưng điều đó dễ bị lỗi. Có cách nào tôi có thể nhận được một số ID duy nhất từ ​​mỗi PC, lưu trữ chúng trong cơ sở dữ liệu trên máy chủ của tôi và sau đó khi ai đó đăng nhập từ một máy cụ thể, xác định máy đó? Tôi nghĩ về địa chỉ IP nhưng những người đó cũng có thể thay đổi do bản chất triển khai của chúng tôi. Nhưng là rất quan trọng mà tôi biết hệ thống đang chạy trên máy nào.

Lưu ý: Tôi không cố gắng xác định mã máy của máy người dùng web vì đó sẽ là vi phạm quyền riêng tư. Tôi biết máy của tôi nên tôi muốn buộc chúng vào cơ sở dữ liệu bằng cách nào đó. Điều này cũng đóng vai trò là bảo mật đối với tôi vì tôi có thể từ chối đăng nhập từ các máy không xác định.

Cảm ơn cho bất kỳ ý tưởng. Tôi đang chạy apache với mã đánh lửa 3 và centos 6.5

Đã hỏi ngày 4 tháng 7 năm 2014 lúc 4:45Jul 4, 2014 at 4:45

Hướng dẫn php get client machine id - php lấy id máy khách

Doug Wolfgramdoug WolfgramDoug Wolfgram

2.0124 Huy hiệu vàng26 Huy hiệu bạc41 Huy hiệu đồng4 gold badges26 silver badges41 bronze badges

1

Không thể có nếu không có thành phần máy khách, plugin trình duyệt hoặc một cái gì đó tương tự. Các lựa chọn thay thế gần nhất là:

  • sử dụng cookie;
  • sử dụng chứng chỉ khách hàng;
  • sử dụng dấu vân tay của trình duyệt;

mỗi người có nhược điểm riêng của họ.

Đã trả lời ngày 4 tháng 7 năm 2014 lúc 4:52Jul 4, 2014 at 4:52

Robby Cornelissenrobby CornelissenRobby Cornelissen

85.1K21 Huy hiệu vàng122 Huy hiệu bạc144 Huy hiệu đồng21 gold badges122 silver badges144 bronze badges

Bạn có thể sử dụng điều này như một ID máy tính:

$computerId = $_SERVER['HTTP_USER_AGENT'].$_SERVER['LOCAL_ADDR'].$_SERVER['LOCAL_PORT'].$_SERVER['REMOTE_ADDR'];

Đó không phải là bằng chứng hoàn toàn ngu ngốc, vì các giá trị của $_SERVER có thể được giả, tuy nhiên nó vẫn sẽ thêm một lớp bảo mật không dựa vào cookie.

Đã trả lời ngày 21 tháng 1 năm 2017 lúc 13:27Jan 21, 2017 at 13:27

Hướng dẫn php get client machine id - php lấy id máy khách

Dan Braydan BrayDan Bray

6.8003 huy hiệu vàng49 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges49 silver badges65 bronze badges

3

Lần đầu tiên người dùng truy cập trang web của bạn, hãy xác định máy của họ theo địa chỉ IP. Sau đó đặt một cookie liên tục với một định danh duy nhất mà bạn chọn.

Lần tới khi họ đến trang web, bạn có thể xác định chúng bằng cookie định danh duy nhất mà bạn đặt trước đó.

Đã trả lời ngày 4 tháng 7 năm 2014 lúc 4:52Jul 4, 2014 at 4:52

Robby Cornelissenrobby CornelissenMatt Johnson-Pint

85.1K21 Huy hiệu vàng122 Huy hiệu bạc144 Huy hiệu đồng73 gold badges432 silver badges546 bronze badges

1

Bạn có thể sử dụng điều này như một ID máy tính:

Đó không phải là bằng chứng hoàn toàn ngu ngốc, vì các giá trị của $_SERVER có thể được giả, tuy nhiên nó vẫn sẽ thêm một lớp bảo mật không dựa vào cookie.

Đã trả lời ngày 21 tháng 1 năm 2017 lúc 13:27

Dan Braydan Bray

Đã trả lời ngày 21 tháng 1 năm 2017 lúc 13:27

Dan Braydan Bray

6.8003 huy hiệu vàng49 Huy hiệu bạc65 Huy hiệu ĐồngJul 4, 2014 at 4:53

Lần đầu tiên người dùng truy cập trang web của bạn, hãy xác định máy của họ theo địa chỉ IP. Sau đó đặt một cookie liên tục với một định danh duy nhất mà bạn chọn.

Lần tới khi họ đến trang web, bạn có thể xác định chúng bằng cookie định danh duy nhất mà bạn đặt trước đó.

Matt Johnson-Pintmatt Johnson-Pint

220K73 Huy hiệu vàng432 Huy hiệu bạc546 Huy hiệu ĐồngJul 4, 2014 at 4:54

Tôi cũng sẽGuns

Sử dụng một giá trị như bin2hex(openssl_random_pseudo_bytes(512)) và đặt nó thành cookie và sau đó kiểm tra cookie2 gold badges22 silver badges51 bronze badges

1

hoặc Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Sử dụng ghi nhật ký dựa trên IP như (127.0.0.1) đã gõ xin chào

Địa chỉ MAC (Thư viện PHP cho nó)

Đã trả lời ngày 4 tháng 7 năm 2014 lúc 4:53