❮ Tham chiếu bộ lọc PHP
Thí dụ
Kiểm tra xem biến $ IP có phải là địa chỉ IP hợp lệ không:
echo["$ip is a valid IP address"];
} else {
echo["$ip is not a valid IP address"];
}
?>
Hãy tự mình thử »
Định nghĩa và cách sử dụng
Bộ lọc Filter_Validate_IP xác thực địa chỉ IP.
Cờ có thể:
- Filter_flag_ipv4 - Giá trị phải là địa chỉ IPv4 hợp lệ
- Filter_flag_ipv6 - Giá trị phải là địa chỉ IPv6 hợp lệ
- Filter_flag_no_priv_range - Giá trị không được nằm trong phạm vi riêng
- Filter_flag_no_res_range - Giá trị không được nằm trong phạm vi dành riêng
Nhiều ví dụ hơn
ví dụ 1
Kiểm tra xem biến $ IP có phải là địa chỉ IPv6 hợp lệ không:
echo["$ip is a valid IPv6 address"];
} else {
echo["$ip is not a valid IPv6 address"];
}
?>
Hãy tự mình thử »
❮ Tham chiếu bộ lọc PHP
Nhiều lần chúng tôi cần lấy địa chỉ IP của khách truy cập cho các mục đích khác nhau. Rất dễ dàng để thu thập địa chỉ IP trong PHP. PHP cung cấp biến PHP $ _Server để có được địa chỉ IP người dùng một cách dễ dàng. Chúng tôi có thể theo dõi các hoạt động của khách truy cập trên trang web cho mục đích bảo mật hoặc chúng tôi có thể biết rằng ai sử dụng trang web của tôi và nhiều hơn nữa.$_SERVER variable to get the user IP address easily. We can track the activities of the visitor on the website for the security purpose, or we can know that who uses my website and many more.
Cách đơn giản nhất để thu thập địa chỉ IP của khách truy cập trong PHP là Remote_addr. Vượt qua 'Remote_addr' trong biến PHP $ _Server. Nó sẽ trả về địa chỉ IP của khách truy cập hiện đang xem trang web.REMOTE_ADDR. Pass the 'REMOTE_ADDR' in PHP $_SERVER variable. It will return the IP address of the visitor who is currently viewing the webpage.
Lưu ý: Chúng tôi có thể hiển thị địa chỉ IP này trên trang web và thậm chí cũng có thể lưu trữ trong cơ sở dữ liệu cho nhiều mục đích khác như - để bảo mật, chuyển hướng khách truy cập đến một trang web khác, chặn/cấm khách truy cập.
Nhận địa chỉ IP của trang web
$ _Server ['remote_addr'] - Nó trả về địa chỉ IP của người dùng hiện đang truy cập trang web. - It returns the IP address of the user currently visiting the webpage.
Ví dụ
Đầu ra
Nhưng đôi khi Remote_addr không trả về địa chỉ IP của máy khách và lý do chính đằng sau là sử dụng proxy. Trong loại tình huống như vậy, chúng tôi sẽ thử một cách khác để có được địa chỉ IP thực sự của người dùng trong PHP.
Đầu ra
Flowchart:
Nhưng đôi khi Remote_addr không trả về địa chỉ IP của máy khách và lý do chính đằng sau là sử dụng proxy. Trong loại tình huống như vậy, chúng tôi sẽ thử một cách khác để có được địa chỉ IP thực sự của người dùng trong PHP.
Nhận địa chỉ IP của trang web
$ _Server ['remote_addr'] - Nó trả về địa chỉ IP của người dùng hiện đang truy cập trang web.gethostbyname[] function.
Ví dụ
Đầu ra
IP Address of Google is - 172.217.166.4 IP Address of javaTpoint is - 95.216.57.234
Tôi muốn kiểm tra xem đầu vào đã nhập có phải là địa chỉ IP hợp lệ hay không. Tôi muốn một chức năng cụ thể sẽ giúp tôi xác nhận đầu vào của người dùng.
Hakre
188K49 Huy hiệu vàng419 Huy hiệu bạc807 Huy hiệu đồng49 gold badges419 silver badges807 bronze badges
Đã hỏi ngày 2 tháng 6 năm 2011 lúc 6:19Jun 2, 2011 at 6:19
3
filter_var[$ip, FILTER_VALIDATE_IP]
//www.php.net/filter_var
Example:-
if[filter_var[$ip, FILTER_VALIDATE_IP]]{
echo 'Valid IP';
} else {
echo 'Not Valid IP';
}
User229044 ♦♦
227K40 Huy hiệu vàng325 Huy hiệu bạc334 Huy hiệu đồng40 gold badges325 silver badges334 bronze badges
Đã trả lời ngày 2 tháng 6 năm 2011 lúc 6:23Jun 2, 2011 at 6:23
lừa dối ♦ lừa dối♦deceze
499K81 Huy hiệu vàng720 Huy hiệu bạc867 Huy hiệu Đồng81 gold badges720 silver badges867 bronze badges
4
// Usually you'd get the value from $_POST or $_GET
$ip = "10.3.1.5";
if[!filter_var[$ip, FILTER_VALIDATE_IP]] {
echo "Not a valid IP address!";
}
Bạn có thể sửa đổi điều này bằng cách lọc cho các địa chỉ IP IPv4 và IPv6 và loại trừ các IP riêng tư và dành riêng.
//www.php.net/manual/filter.filters.validate.php
Đã trả lời ngày 2 tháng 6 năm 2011 lúc 6:26Jun 2, 2011 at 6:26
Chiborgchiborgchiborg
25.8K12 Huy hiệu vàng98 Huy hiệu bạc114 Huy hiệu đồng12 gold badges98 silver badges114 bronze badges
Bằng cách sử dụng preg_match[];
function checkIPAddress[$ipAddress]
{
return preg_match['/^[?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d][?:[.][?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d]]{3}$/', $ipAddress];
}
Đã trả lời ngày 3 tháng 8 năm 2015 lúc 9:45Aug 3, 2015 at 9:45
Aniket Singhaniket SinghAniket Singh
2.2641 Huy hiệu vàng19 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge19 silver badges30 bronze badges
1