getIP_util.php 546 B

12345678910111213141516171819
  1. <?php
  2. /**
  3. * @return string
  4. */
  5. function getClientIp() {
  6. if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  7. $ip = $_SERVER['HTTP_CLIENT_IP'];
  8. } elseif (!empty($_SERVER['HTTP_X_REAL_IP'])) {
  9. $ip = $_SERVER['HTTP_X_REAL_IP'];
  10. } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  11. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  12. $ip = preg_replace('/,.*/', '', $ip); # hosts are comma-separated, client is first
  13. } else {
  14. $ip = $_SERVER['REMOTE_ADDR'];
  15. }
  16. return preg_replace('/^::ffff:/', '', $ip);
  17. }