Tôi có một số tính năng bổ sung trên trang web mà nhân viên có thể sử dụng nhưng khách hàng không được phép xem.Có thể giả mạo IP của bạn ... đang kiểm tra địa chỉ IP có an toàn không?
Nhân viên tất cả sẽ thuộc một loạt các miền.
Những gì tôi làm là lấy ip sử dụng như sau:
$user_ip = gethostbyname($_SERVER['REMOTE_ADDR']);
Sau đó, tôi nhận được một mảng của tất cả các ip cho các lĩnh vực người sử dụng sẽ được sử dụng gethostbyname
Sau đó, tôi kiểm tra xem người dùng thuộc một trong các tên miền như vậy:
in_array($user_ip,$allowedIPS)
Vì vậy, nếu người dùng thuộc một trong các miền họ thấy các tính năng bổ sung để sử dụng nội bộ. Nếu không, họ chỉ nhìn thấy những gì có nghĩa là cho công chúng.
Câu hỏi của tôi là, điều này có an toàn không? Hoặc ai đó có thể giả mạo IP của họ xuất hiện giống như họ đang ở trên miền của chúng tôi và có quyền truy cập vào các tính năng này?
có vẻ như việc sử dụng gethostbyname() là dư thừa ở đây. '$ user_ip = $ _SERVER ['REMOTE_ADDR'];' là đủ –
@Col. Shrapnel Tôi không nghĩ đó là vấn đề ở đây. – RobertPitt
'$ _SERVER ['REMOTE_ADDR']' IS địa chỉ IP của người dùng và bạn đang sử dụng gethostbyname trên đó, nếu tôi có thể tin vào mắt mình –