Home Backend Development PHP Tutorial Safe method for web sites to obtain user IP HTTP_X_FORWARDED_FOR inspection_PHP tutorial

Safe method for web sites to obtain user IP HTTP_X_FORWARDED_FOR inspection_PHP tutorial

Jul 21, 2016 pm 03:10 PM
for http web function Safety method test user of site Obtain filter

Security filtered getIP function

Copy code The code is as follows:

function getIP() {
$realip = ''; //Set the default Value
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}

preg_match('/^((?:d{1,3}.){3}d{1,3})/',$realip,$match);
return $match?$match[ 0]:false;
}

The above function adds IP judgment, and will only read data starting with IP format, and the first one that satisfies the IP format value. If not return false. In this way, the IP that meets the format can be read and the IP format of the data is verified.

If I read the IP of the Internet, the IP of the user's incoming LAN, I should filter it out directly

We often see prompts on some websites that illegal IP addresses are actually part of the IP address format error, and part of it may be that the IP address is read and does not meet the IP format allowed on the Internet. The following function encapsulates a function through the IANA site specification. By entering the IP address, you can accurately know whether the IP can be used on the Internet.

Copy code The code is as follows:

//The Internet allows the use of IP addresses
function ipType2($ip) {
$iplist = explode(".", $ip);

if ($iplist[0] >= 224 && $iplist[0] <= 239)
return 'Multicast';
if ($iplist[0] >= 240 && $ iplist[0] <= 255)
return 'reserved';

if (preg_match('/^198.51.100/', $ip))
return 'TEST-NET-2, documentation and examples';
if (preg_match('/^203.0.113/ ', $ip))
return 'TEST-NET-3, documentation and examples';

if (preg_match('/^192.(18|19)./', $ip))
return 'Network Benchmark';

if (preg_match('/^192.168/', $ip))
return 'Private network [intranet]';

if (preg_match('/^192.88.99/', $ip))
return 'ipv6to4 relay';
if (preg_match('/^192.0.2./', $ip) )
return 'TEST-NET-1, documentation and examples';
if (preg_match('/^192.0.0./', $ip))
return 'Reserved (IANA)';
if (preg_match('/^192.0.0./', $ip))
return 'Reserved (IANA)';

if ($iplist[0] == 172 && $iplist[1] <= 31 && $iplist[1] >= 16)
return 'Private network [Intranet]';

if ($iplist[0] == 169 && $iplist[1] == 254)
return 'link local';
if ($iplist[0] == 127)
return 'Loopback address';
if ($iplist[0] == 10)
return 'Private network [intranet]';
if ($iplist[0] == 0)
return 'This network (only valid as a source address)';

return 'InterNet network address';
}

When you enter an IP address, it returns "'InterNet address'. Then this IP address is not only in the correct format, but also a legal IP address on the Internet. This function is very complicated. In fact, it excludes many non-Internet IP addresses. We are probably familiar with the common addresses starting with 192, 127, and 10. But in fact, many IP addresses are reserved or reserved for other purposes. With the above two functions, we can not only read them. The correct format of the IP address can also ensure that the IP address is read on the Internet. The above are functions commonly used in work. Friends are welcome to communicate!

Author: chengmo QQ:8292669

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327101.htmlTechArticleThe copy code of the getIP function after security filtering is as follows: function getIP() { $realip = ''; // Set default value if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to add trusted sites in Google Chrome How to add trusted sites in Google Chrome Jul 19, 2024 pm 04:14 PM

How to add trusted sites in Google Chrome? Some users cannot browse the web normally because the page prompts that it is not secure when surfing the Internet. At this time, they can add the website as a trusted site, and we can access it normally and surf the Internet smoothly. The editor below will bring you the steps to add a trusted site in Google Chrome. The steps are simple and easy to operate, and even beginners can easily get started. Friends who need it can learn about it together. How to add a trusted site in Google Chrome: 1. Open Google Chrome and click the three dots in the upper right corner. Click [Settings]. Choose privacy settings and security. (As shown in the picture) 2. Click Website Settings at the bottom of the page. (As shown in the picture) 3. Click on the unsafe content at the bottom of the page. (As shown in the picture) 4. Click the Add button to the right of the Allow option. (As shown in the picture) 5. Lose

The secret of hatching mobile dragon eggs is revealed (step by step to teach you how to successfully hatch mobile dragon eggs) The secret of hatching mobile dragon eggs is revealed (step by step to teach you how to successfully hatch mobile dragon eggs) May 04, 2024 pm 06:01 PM

Mobile games have become an integral part of people's lives with the development of technology. It has attracted the attention of many players with its cute dragon egg image and interesting hatching process, and one of the games that has attracted much attention is the mobile version of Dragon Egg. To help players better cultivate and grow their own dragons in the game, this article will introduce to you how to hatch dragon eggs in the mobile version. 1. Choose the appropriate type of dragon egg. Players need to carefully choose the type of dragon egg that they like and suit themselves, based on the different types of dragon egg attributes and abilities provided in the game. 2. Upgrade the level of the incubation machine. Players need to improve the level of the incubation machine by completing tasks and collecting props. The level of the incubation machine determines the hatching speed and hatching success rate. 3. Collect the resources required for hatching. Players need to be in the game

How to set font size on mobile phone (easily adjust font size on mobile phone) How to set font size on mobile phone (easily adjust font size on mobile phone) May 07, 2024 pm 03:34 PM

Setting font size has become an important personalization requirement as mobile phones become an important tool in people's daily lives. In order to meet the needs of different users, this article will introduce how to improve the mobile phone use experience and adjust the font size of the mobile phone through simple operations. Why do you need to adjust the font size of your mobile phone - Adjusting the font size can make the text clearer and easier to read - Suitable for the reading needs of users of different ages - Convenient for users with poor vision to use the font size setting function of the mobile phone system - How to enter the system settings interface - In Find and enter the "Display" option in the settings interface - find the "Font Size" option and adjust it. Adjust the font size with a third-party application - download and install an application that supports font size adjustment - open the application and enter the relevant settings interface - according to the individual

How to choose a mobile phone screen protector to protect your mobile phone screen (several key points and tips for purchasing mobile phone screen protectors) How to choose a mobile phone screen protector to protect your mobile phone screen (several key points and tips for purchasing mobile phone screen protectors) May 07, 2024 pm 05:55 PM

Mobile phone film has become one of the indispensable accessories with the popularity of smartphones. To extend its service life, choose a suitable mobile phone film to protect the mobile phone screen. To help readers choose the most suitable mobile phone film for themselves, this article will introduce several key points and techniques for purchasing mobile phone film. Understand the materials and types of mobile phone films: PET film, TPU, etc. Mobile phone films are made of a variety of materials, including tempered glass. PET film is relatively soft, tempered glass film has good scratch resistance, and TPU has good shock-proof performance. It can be decided based on personal preference and needs when choosing. Consider the degree of screen protection. Different types of mobile phone films have different degrees of screen protection. PET film mainly plays an anti-scratch role, while tempered glass film has better drop resistance. You can choose to have better

Complete collection of excel function formulas Complete collection of excel function formulas May 07, 2024 pm 12:04 PM

1. The SUM function is used to sum the numbers in a column or a group of cells, for example: =SUM(A1:J10). 2. The AVERAGE function is used to calculate the average of the numbers in a column or a group of cells, for example: =AVERAGE(A1:A10). 3. COUNT function, used to count the number of numbers or text in a column or a group of cells, for example: =COUNT(A1:A10) 4. IF function, used to make logical judgments based on specified conditions and return the corresponding result.

How to implement HTTP streaming using C++? How to implement HTTP streaming using C++? May 31, 2024 am 11:06 AM

How to implement HTTP streaming in C++? Create an SSL stream socket using Boost.Asio and the asiohttps client library. Connect to the server and send an HTTP request. Receive HTTP response headers and print them. Receives the HTTP response body and prints it.

How should the Java framework security architecture design be balanced with business needs? How should the Java framework security architecture design be balanced with business needs? Jun 04, 2024 pm 02:53 PM

Java framework design enables security by balancing security needs with business needs: identifying key business needs and prioritizing relevant security requirements. Develop flexible security strategies, respond to threats in layers, and make regular adjustments. Consider architectural flexibility, support business evolution, and abstract security functions. Prioritize efficiency and availability, optimize security measures, and improve visibility.

How to implement PHP security best practices How to implement PHP security best practices May 05, 2024 am 10:51 AM

How to Implement PHP Security Best Practices PHP is one of the most popular backend web programming languages ​​used for creating dynamic and interactive websites. However, PHP code can be vulnerable to various security vulnerabilities. Implementing security best practices is critical to protecting your web applications from these threats. Input validation Input validation is a critical first step in validating user input and preventing malicious input such as SQL injection. PHP provides a variety of input validation functions, such as filter_var() and preg_match(). Example: $username=filter_var($_POST['username'],FILTER_SANIT

See all articles