search
HomeBackend DevelopmentPHP TutorialUse of HTTP_X_FORWARDED_FOR and REMOTE_ADDR in PHP_PHP Tutorial

Reference source: http://qq398705749.iteye.com/blog/963818

1.REMOTE_ADDR: The IP address of the user’s computer browsing the current page
2.HTTP_X_FORWARDED_FOR: The gateway of the user’s computer browsing the current page
3.: The client’s ip

in PHP Use to obtain the client's IP address.

But if the client uses a proxy server to access, what is obtained is the IP address of the proxy server, not the real client IP address. To obtain the real IP address of the client through the proxy server, use to read it.

However, please note that not every proxy server can use $_SERVER["HTTP_X_FORWARDED_FOR"] to read the real IP of the client. Some of the IPs read by this method are still the IP of the proxy server.

Another thing to note is: , then the value obtained with $_SERVER["HTTP_X_FORWARDED_FOR"] will be empty.

Php codeUse of HTTP_X_FORWARDED_FOR and REMOTE_ADDR in PHP_PHP Tutorial 🎜>Use of HTTP_X_FORWARDED_FOR and REMOTE_ADDR in PHP_PHP Tutorial] && preg_match(Use of HTTP_X_FORWARDED_FOR and REMOTE_ADDR in PHP_PHP Tutorial'/^([0-9]{1,3}.){3}[0-9]{1,3}$/' ,$_SERVER['HTTP_X_FORWARDED_FOR'])) {   $onlineip = $_SERVER['HTTP_X_FOWRWARDED_FOR'

  • ];  } elseif ($_SERVER['HTTP_CLIENT_IP'
  • ] && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {   $onlineip = $_SERVER['HTTP_CLIENT_IP'
  • ]; Differences in obtaining the three attributes of the user's IP address (HTTP_X_FORWARDED_FOR, HTTP_VIA, REMOTE_ADDR): 1. The case of not using a proxy server
  • :
  • = Your IP
    if ($_SERVER['HTTP_X_FORWARDED_FOR'] && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_X_FORWARDED_FOR'])) {  
          $onlineip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
    } elseif  ($_SERVER['HTTP_CLIENT_IP']  && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])) {  
          $onlineip = $_SERVER['HTTP_CLIENT_IP']; 
    } 
    


    = No value or not displayed

    = No value or not displayed

    2. When using a transparent proxy server: Transparent Proxies
    = Last proxy server IP
    = Proxy server IP

    = Your real IP, after When there are multiple proxy servers, this value is similar to the following: 203.98.182.163, 203.98.182.163, 203.129.72.215.

    This type of proxy server still forwards your information to the person you visit, and cannot achieve the purpose of hiding your true identity. 3. Situation of using ordinary anonymous proxy server
    : Anonymous Proxies = last proxy server IP
    = Proxy server IP

    = Proxy server IP. When passing through multiple proxy servers, this value is similar to the following: 203.98 .182.163, 203.98.182.163, 203.129.72.215.

    Hide your real IP, but reveal to your visitors that you are using a proxy server to access them. 4. The use of deceptive proxy servers
    : Distorting Proxies = proxy server IP
    = Proxy server IP

    = Random IP. When passing through multiple proxy servers, this value is similar to the following: 203.98.182.163 , 203.98.182.163, 203.129.72.215.

    Tell the visitor that you are using a proxy server, but make up a fake random IP instead of your real IP to trick it. 5. Situation of using high anonymity proxy server
    : High Anonymity Proxies (Elite proxies)
    = Proxy server IP
    = No value or not displayed
    = No value or Not displayed, when passing through multiple proxy servers, the value is similar to the following: 203.98.182.163, 203.98.182.163, 203.129.72.215.

    Completely replaces all your information with the proxy server's information, just like you are using that proxy server to directly access the object.​
  • www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/440138.htmlTechArticleReference source: http://qq398705749.iteye.com/blog/963818 1. REMOTE_ADDR: Browse the current page The IP address of the user’s computer 2. HTTP_X_FORWARDED_FOR: The IP address of the user’s computer browsing the current page...
    Statement
    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
    PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

    APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

    Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

    Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

    PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

    PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

    PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

    PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

    How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

    TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

    PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

    ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

    PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

    Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

    PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

    DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

    See all articles

    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

    Video Face Swap

    Video Face Swap

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

    Hot Article

    Hot Tools

    VSCode Windows 64-bit Download

    VSCode Windows 64-bit Download

    A free and powerful IDE editor launched by Microsoft

    WebStorm Mac version

    WebStorm Mac version

    Useful JavaScript development tools

    mPDF

    mPDF

    mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor