PHP

Get Remote IP Address in PHP

CK CK 3788 
Created at  
500 0 0

In case that you want to know the remote client IP address, you can simple get by referencing the global variables $_SERVER[‘REMOTE_ADDR’].

 

Following is the example to make function can get remote IP address.

  1: function getRemoteIPAddress() {
  2:     $ip = $_SERVER['REMOTE_ADDR'];
  3:     return $ip;
  4: }


 



But, the above function does not work correctly, if you are behind proxy server. In that case, below function to get real IP address of client.



  1: function getRealIPAddr()
  2: {
  3:     if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
  4:     {
  5:         $ip=$_SERVER['HTTP_CLIENT_IP'];
  6:     }
  7:     elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
  8:     {
  9:         $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
 10:     }
 11:     else
 12:     {
 13:         $ip=$_SERVER['REMOTE_ADDR'];
 14:     }
 15:     return $ip;
 16: }
Tags PHP User IP email validation floor function Facebook X
Comments 0
Similar posts
  1. How to remove HTML tags in text string?
    405
  2. Directory listing in PHP
    514
  3. PHP socket programming to get content with post method
    411
  4. Seconds to String in PHP
    439
  5. Email Validation Snipet in PHP
    382
  6. PHP function converts new line to BR tag
    562
  7. Date format validation in PHP
    572
  8. How to get the duration between days in PHP
    424
  9. How to delete file on certain path ?
    390
  10. Human readable random string for captchas in PHP
    561
  11. ASCII Artwork Generator from image file
    471
  12. Uploading files to Amazon S3 with REST API in PHP
    842
  13. How to limit by Timeout when opening URL ?
    459
  14. How to put timeout when opening URL by fopen ?
    441
  15. How to convert W3C Date Time Format ?
    456
  16. Get the actual filesize for a size above 2GB in Windows
    431
  17. HTML redirection in PHP
    400
  18. ISO 8601 format time format string conversion
    539
  19. How to download a file from a certain URL to server ?
    421
  20. How to extract file name from given URL ?
    444
  21. File downloading via HTTP
    447
  22. How to block a connection from the certain site ?
    353
  23. XMLRPC example
    763
  24. How to upload attachments such as image by metaWeblog API ?
    393
  25. How to post blog content by metaweblog API ?
    488
  26. Posting to a Wordpress Blog Via XMLRPC Using Blogger API
    768
  27. How to create private URL on S3/CloudFront with time-limit ?
    919
  28. foreach loop
    451
  29. Can PHP switch in strings ?
    396
  30. PHP Switch Example
    430
  1. Checking similarity between two strings in PHP
    675
  2. Simple PHP calendar
    479
  3. Simple PHP code performance measuring example
    793
  4. Convert plain HTML to XHTML
    453
  5. GD library version in PHP
    505
  6. JSON format control in PHP
    693
  7. mysql optimization – if you are using Word Press, do not turn off persistent connection
    593
  8. File downloading function through PHP code
    532
  9. Image file resizing in PHP
    562
  10. Apache server unstable detection and the related server(mysql, apache) restart automatically
    538
  11. How to set AUTO_INCREMENT ID in mySQL ?
    607
  12. Function can extract file name in string having full path in PHP
    568
  13. Parsing XML in PHP
    1,192
  14. Unzip a ZIP file in PHP
    503
  15. How to get browser information in PHP?
    855
  16. How to send email in PHP ?
    894
  17. How to pass variables via url
    471
  18. How to declare array in PHP like C/C++
    674
  19. PHP date and time formatting
    431
  20. How to redirect browser in PHP ?
    488
  21. How to get current filename as variable ?
    773
  22. email validation, simple
    418
  23. How to ban / block IP addresses
    512
  24. for loop - simple
    450
  25. form action - detect form post
    431
  26. How to make random number ?
    521
  27. How to force cookies, disable php sessid in URL ?
    560
  28. How to check if a file exists ?
    789
  29. How to include a file with error reporting ?
    431
  30. PHP if...else... example
    446
Recently updated
  1. Why 100% SEO Guarantees Better User Engagement and How to Achieve It in Your Service
    42
  2. Why SPF and DKIM Are Essential for Linux Email Servers?
    36
  3. How do I create animated background for Google Meet?
    21,044
  4. MaxMind GeoLite2 vs. DB-IP Lite vs. ip-api.com: Choosing the Right Free IP Geolocation Solution
    252
  5. Meet Valkey: Why Redis Changed Its License, Why Valkey is Better, and How to Use It as a Drop-in Replacement
    94
  6. How Rogue Web Scrapers Are Stealing My Content and Destroying My Server
    158
  7. Array of arguments passed to script in PHP
    90
  8. Invalid Auction Storms in Ad Tech
    98
  9. Building MRC-Compliant Instrumentation in Ad Tech: Implementation Steps and Key Challenges
    202
  10. The Two Clocks of Ad Server Architecture
    71
  11. Frequency Cap Architecture Overview
    515
  12. Collecting Proof-of-Play from 100,000 Screens
    146
  13. Vector Search in Relational Databases (RDBs): Trends & Usage Environments
    288
  14. What is RedisVL?
    109
  15. Designing a Skill Registry Architecture: Minimize Token Usage and Maximize AI Performance
    232
  16. TPU & GPU Cluster Management Tools
    245
  17. The Concept of Scaffolding in AI Agents
    234
  18. Beyond Static Pipelines: Architecting LLM Multi-Agent Systems for Autonomous Workflow Orchestration
    583
  19. AI-DLC vs. AI-SDLC: Model-Centric vs. System-Centric AI Development
    259
  20. Fine-Tuning Open-Weight LLMs: Training, Licensing, and Deploying Custom Models with Ollama
    339
  21. Inside the Next-Generation Streaming Architecture: Ultra-Low Latency, SGAI, and AI Codecs
    202
  22. Machine Learning: Training vs. Ranking
    222
  23. The Continuous Learning Machine: Designing a Loop That Actually Turns
    222
  24. The Next-Gen Low-Latency Standards: LL-HLS & MoQ
    195
  25. Designing a Data Curation System Around a Vector Database
    221
  26. Extracting Context from Live Video: The Architecture Got Simpler When We Stopped Building Features
    257
  27. The New Ad Stack Behind Live Sports Streaming: Inside SGAI, EABN, and the Standards Race to Fix Live Monetization
    656
  28. Designing MLOps Architectures to Handle Seasonal Data Drift in EV Fleet Models
    196
  29. From 15 to 40+ FPS: Accelerating PyTorch Object Detection on Automotive ECUs
    219
  30. Understanding Data Lineage
    263