php获取ip的惯用方法都是什么意思
php获取ip的常用方法都是什么意思?
问题一:
获取ip的常用方法是用$_SERVER数组的“HTTP_CLIENT_IP”、“HTTP_X_FORWARDED_FOR”、“REMOTE_ADDR”这三个元素来获取。
那这三个元素值都分别代表什么呢?
我在网上查的是:
HTTP_CLIENT_IP:代表客户端ip
HTTP_X_FORWARDED_FOR:通过代理上网的客户端ip
REMOTE_ADDR:连接ip
我的理解是:
(1)如果客户端是直接联网的:
HTTP_CLIENT_IP:显示客户端ip
HTTP_X_FORWARDED_FOR:没有
REMOTE_ADDR:显示客户端ip
(2)如果客户端是通过代理服务器的:
HTTP_CLIENT_IP:没有
HTTP_X_FORWARDED_FOR:显示客户端ip
REMOTE_ADDR:显示代理服务器ip
这么理解对吗?
问题二:
客户端的ip信息是通过header头发送过去的吧?那为什么用firefox查header头看不到相关的信息呢?
谢谢!
------解决方案--------------------
1,应该对吧,网上有一个经典的if语句,如果有需求可以拿来用,不过这只能识别君子,对小人无效。
2,HTTP_X_FORWARDED_FOR,这个应该有。其他两个REMOTE_ADDR和CLIENT_IP个人感觉是一样的东西,都是accept得到的IP,只不过是根据是否有HTTP_XFORWARDED_FOR做不同的解释而已。
------解决方案--------------------
只有 REMOTE_ADDR 反映的是用户真实的公网入口
其他的都是各种网络设备附加的内容,仅供参考
因为他们是可以随意构造的

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

HTTP status code 520 means that the server encountered an unknown error while processing the request and cannot provide more specific information. Used to indicate that an unknown error occurred when the server was processing the request, which may be caused by server configuration problems, network problems, or other unknown reasons. This is usually caused by server configuration issues, network issues, server overload, or coding errors. If you encounter a status code 520 error, it is best to contact the website administrator or technical support team for more information and assistance.

HTTP status code 403 means that the server rejected the client's request. The solution to http status code 403 is: 1. Check the authentication credentials. If the server requires authentication, ensure that the correct credentials are provided; 2. Check the IP address restrictions. If the server has restricted the IP address, ensure that the client's IP address is restricted. Whitelisted or not blacklisted; 3. Check the file permission settings. If the 403 status code is related to the permission settings of the file or directory, ensure that the client has sufficient permissions to access these files or directories, etc.

Understand the meaning of HTTP 301 status code: common application scenarios of web page redirection. With the rapid development of the Internet, people's requirements for web page interaction are becoming higher and higher. In the field of web design, web page redirection is a common and important technology, implemented through the HTTP 301 status code. This article will explore the meaning of HTTP 301 status code and common application scenarios in web page redirection. HTTP301 status code refers to permanent redirect (PermanentRedirect). When the server receives the client's

How to use NginxProxyManager to implement automatic jump from HTTP to HTTPS. With the development of the Internet, more and more websites are beginning to use the HTTPS protocol to encrypt data transmission to improve data security and user privacy protection. Since the HTTPS protocol requires the support of an SSL certificate, certain technical support is required when deploying the HTTPS protocol. Nginx is a powerful and commonly used HTTP server and reverse proxy server, and NginxProxy

Use the http.PostForm function to send a POST request with form data. In the http package of the Go language, you can use the http.PostForm function to send a POST request with form data. The prototype of the http.PostForm function is as follows: funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)where, u

HTTP Status Code 200: Explore the Meaning and Purpose of Successful Responses HTTP status codes are numeric codes used to indicate the status of a server's response. Among them, status code 200 indicates that the request has been successfully processed by the server. This article will explore the specific meaning and use of HTTP status code 200. First, let us understand the classification of HTTP status codes. Status codes are divided into five categories, namely 1xx, 2xx, 3xx, 4xx and 5xx. Among them, 2xx indicates a successful response. And 200 is the most common status code in 2xx

Quick Application: Practical Development Case Analysis of PHP Asynchronous HTTP Download of Multiple Files With the development of the Internet, the file download function has become one of the basic needs of many websites and applications. For scenarios where multiple files need to be downloaded at the same time, the traditional synchronous download method is often inefficient and time-consuming. For this reason, using PHP to download multiple files asynchronously over HTTP has become an increasingly common solution. This article will analyze in detail how to use PHP asynchronous HTTP through an actual development case.

Common network communication and security problems and solutions in C# In today's Internet era, network communication has become an indispensable part of software development. In C#, we usually encounter some network communication problems, such as data transmission security, network connection stability, etc. This article will discuss in detail common network communication and security issues in C# and provide corresponding solutions and code examples. 1. Network communication problems Network connection interruption: During the network communication process, the network connection may be interrupted, which may cause
