现在的位置: 网页制作教程网站制作教程 >正文
php网上学习

PHP如何获取用户的IP地址

发表于2017/4/22 网站制作教程 0条评论 ⁄ 热度 1,837℃

系统有时会要求采集用户的IP地址,本文介绍了PHP程序获取用户真实IP地址的两种方法,希望对大家有所帮助。

获取用户IP地址方法一:

php 代码:
  1. function GetRealIP() {
  2. static $realip;
  3. if (isset($_SERVER)){
  4. if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
  5. $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  6. } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
  7. $realip = $_SERVER["HTTP_CLIENT_IP"];
  8. } else {
  9. $realip = $_SERVER["REMOTE_ADDR"];
  10. }
  11. } else {
  12. if (getenv("HTTP_X_FORWARDED_FOR")){
  13. $realip = getenv("HTTP_X_FORWARDED_FOR");
  14. } else if (getenv("HTTP_CLIENT_IP")) {
  15. $realip = getenv("HTTP_CLIENT_IP");
  16. } else {
  17. $realip = getenv("REMOTE_ADDR");
  18. }
  19. }
  20. if (strpos($realip, ',') === false) {
  21. $sUserIp = $realip;
  22. } else {
  23. $arrUserIp = explode(',' , $realip);
  24. $sUserIp = $arrUserIp[0];
  25. }
  26. return $sUserIp;
  27. }

获取用户IP地址方法二:

php 代码:
  1. function get_real_ip(){
  2. if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) ){
  3. $ip = getenv( "HTTP_CLIENT_IP" );
  4. }else if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) ){
  5. $ip = getenv( "HTTP_X_FORWARDED_FOR" );
  6. }else if (getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) ){
  7. $ip = getenv( "REMOTE_ADDR" );
  8. }else if ( isset( $_SERVER[ 'REMOTE_ADDR' ] ) && $_SERVER[ 'REMOTE_ADDR' ]&& strcasecmp( $_SERVER[ 'REMOTE_ADDR' ], "unknown" ) ){
  9. $ip = $_SERVER[ 'REMOTE_ADDR' ];
  10. }else{
  11. $ip = "unknown";
  12. }
  13. if ( strpos( $ip, ',' ) ){
  14. $ipArr = explode( ',', $ip );
  15. $ip = $ipArr[ 0 ];
  16. }
  17. return $ip;
  18. }
  • 暂无评论