Home >Backend Development >PHP Problem >How to ban a region ip in php
How to implement prohibition of a region in php: first use a variable to save the visitor's IP address; then obtain the detailed information of the IP address from the outside world; then determine whether it is within the province that denies access; and finally make corresponding actions Just respond.
Recommendation: "PHP Video Tutorial"
PHP bans IPs in a certain area
Before, the blog banned IP access from the entire Jiangsu Province
In the backend, PHP is actually used to determine the IP source of the visitor and handle it accordingly
Some common syntax of PHP will be used in actual combat:
Conditional judgment
Loop
Array
Super global variable
In addition, some functions that come with the system will also be used
Let’s talk about the specific ideas:
1. Use a variable to save the visitor’s IP address
2. Obtain detailed information of the IP address from the outside world
3. Determine whether it is within the province that denies access
4. Make corresponding response
The first is to save the visitor's IP. You can use the super global variable $_SERVER to obtain the visitor's IP address.
$ip = $_SERVER['REMOTE_ADDR'];
Use an array to save the provinces that are prohibited from access.
$verification = array("xx省", "xx省", ...);
Use the Taobao IP library and add the Taobao IP library to the (Provincial accuracy exceeds 99.8%, city accuracy exceeds 96.8%) All information in the page is saved in a string
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);
Among them, the file_get_contents() function saves all strings in a file in In a string
In the web page, PHP displays the final code return value instead of displaying the PHP code, which is different from the front end
It is difficult to save it in a string Use it for comparison directly, so to process the string, it is best to turn it into a variable
$ipInformation = json_decode($result, true);
json_decode() function converts a string in JSON form into a PHP variable, here it is converted into a two-dimensional association Array
$address['data']['region'] returns the Chinese province of the IP
Finally, loop and conditional judgment are used to process the access denial
The final code :
Among them, TODO is how you handle IPs within the range. For example, you can directly die(); to disable page display
The above is the detailed content of How to ban a region ip in php. For more information, please follow other related articles on the PHP Chinese website!