3v4l.org

run code in 300+ PHP versions simultaneously
<?php $ip=$_SERVER['REMOTE_ADDR']; $ipaddress = ''; if (getenv('HTTP_CLIENT_IP')) $ipaddress = getenv('HTTP_CLIENT_IP'); else if(getenv('HTTP_X_FORWARDED_FOR')) $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); else if(getenv('HTTP_X_FORWARDED')) $ipaddress = getenv('HTTP_X_FORWARDED'); else if(getenv('HTTP_FORWARDED_FOR')) $ipaddress = getenv('HTTP_FORWARDED_FOR'); else if(getenv('HTTP_FORWARDED')) $ipaddress = getenv('HTTP_FORWARDED'); else if(getenv('REMOTE_ADDR')) $ipaddress = getenv('REMOTE_ADDR'); else $ipaddress = 'UNKNOWN'; echo "OLD IP: "; echo $ip; echo "<br>"; echo "NEW IP: "; echo $ipaddress; echo "<br>"; echo getenv('HTTP_CLIENT_IP'); echo "<br>"; echo getenv('HTTP_X_FORWARDED_FOR'); echo "<br>"; echo getenv('HTTP_X_FORWARDED'); echo "<br>"; echo getenv('HTTP_FORWARDED_FOR'); echo "<br>"; echo getenv('HTTP_FORWARDED'); echo "<br>"; echo getenv('REMOTE_ADDR'); $file = fopen("ip.txt","a"); fwrite($file,"OLD IP: "); fwrite($file,$ip); fwrite($file," NEW IP: "); fwrite($file,$ipaddress); fwrite($file,"\n"); fclose($file); ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 13
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 22
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 31
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 40
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 49
Branch analysis from position: 44
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 49
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 58
Branch analysis from position: 53
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 58
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Dj036
function name:  (null)
number of ops:  123
compiled vars:  !0 = $ip, !1 = $ipaddress, !2 = $file
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   FETCH_R                      global              ~3      '_SERVER'
          1        FETCH_DIM_R                                      ~4      ~3, 'REMOTE_ADDR'
          2        ASSIGN                                                   !0, ~4
    5     3        ASSIGN                                                   !1, ''
    6     4        INIT_FCALL                                               'getenv'
          5        SEND_VAL                                                 'HTTP_CLIENT_IP'
          6        DO_ICALL                                         $7      
          7      > JMPZ                                                     $7, ->13
    7     8    >   INIT_FCALL                                               'getenv'
          9        SEND_VAL                                                 'HTTP_CLIENT_IP'
         10        DO_ICALL                                         $8      
         11        ASSIGN                                                   !1, $8
         12      > JMP                                                      ->59
    8    13    >   INIT_FCALL                                               'getenv'
         14        SEND_VAL                                                 'HTTP_X_FORWARDED_FOR'
         15        DO_ICALL                                         $10     
         16      > JMPZ                                                     $10, ->22
    9    17    >   INIT_FCALL                                               'getenv'
         18        SEND_VAL                                                 'HTTP_X_FORWARDED_FOR'
         19        DO_ICALL                                         $11     
         20        ASSIGN                                                   !1, $11
         21      > JMP                                                      ->59
   10    22    >   INIT_FCALL                                               'getenv'
         23        SEND_VAL                                                 'HTTP_X_FORWARDED'
         24        DO_ICALL                                         $13     
         25      > JMPZ                                                     $13, ->31
   11    26    >   INIT_FCALL                                               'getenv'
         27        SEND_VAL                                                 'HTTP_X_FORWARDED'
         28        DO_ICALL                                         $14     
         29        ASSIGN                                                   !1, $14
         30      > JMP                                                      ->59
   12    31    >   INIT_FCALL                                               'getenv'
         32        SEND_VAL                                                 'HTTP_FORWARDED_FOR'
         33        DO_ICALL                                         $16     
         34      > JMPZ                                                     $16, ->40
   13    35    >   INIT_FCALL                                               'getenv'
         36        SEND_VAL                                                 'HTTP_FORWARDED_FOR'
         37        DO_ICALL                                         $17     
         38        ASSIGN                                                   !1, $17
         39      > JMP                                                      ->59
   14    40    >   INIT_FCALL                                               'getenv'
         41        SEND_VAL                                                 'HTTP_FORWARDED'
         42        DO_ICALL                                         $19     
         43      > JMPZ                                                     $19, ->49
   15    44    >   INIT_FCALL                                               'getenv'
         45        SEND_VAL                                                 'HTTP_FORWARDED'
         46        DO_ICALL                                         $20     
         47        ASSIGN                                                   !1, $20
         48      > JMP                                                      ->59
   16    49    >   INIT_FCALL                                               'getenv'
         50        SEND_VAL                                                 'REMOTE_ADDR'
         51        DO_ICALL                                         $22     
         52      > JMPZ                                                     $22, ->58
   17    53    >   INIT_FCALL                                               'getenv'
         54        SEND_VAL                                                 'REMOTE_ADDR'
         55        DO_ICALL                                         $23     
         56        ASSIGN                                                   !1, $23
         57      > JMP                                                      ->59
   19    58    >   ASSIGN                                                   !1, 'UNKNOWN'
   21    59    >   ECHO                                                     'OLD+IP%3A+'
   22    60        ECHO                                                     !0
   23    61        ECHO                                                     '%3Cbr%3E'
   24    62        ECHO                                                     'NEW+IP%3A+'
   25    63        ECHO                                                     !1
   27    64        ECHO                                                     '%3Cbr%3E'
   28    65        INIT_FCALL                                               'getenv'
         66        SEND_VAL                                                 'HTTP_CLIENT_IP'
         67        DO_ICALL                                         $26     
         68        ECHO                                                     $26
   29    69        ECHO                                                     '%3Cbr%3E'
   30    70        INIT_FCALL                                               'getenv'
         71        SEND_VAL                                                 'HTTP_X_FORWARDED_FOR'
         72        DO_ICALL                                         $27     
         73        ECHO                                                     $27
   31    74        ECHO                                                     '%3Cbr%3E'
   32    75        INIT_FCALL                                               'getenv'
         76        SEND_VAL                                                 'HTTP_X_FORWARDED'
         77        DO_ICALL                                         $28     
         78        ECHO                                                     $28
   33    79        ECHO                                                     '%3Cbr%3E'
   34    80        INIT_FCALL                                               'getenv'
         81        SEND_VAL                                                 'HTTP_FORWARDED_FOR'
         82        DO_ICALL                                         $29     
         83        ECHO                                                     $29
   35    84        ECHO                                                     '%3Cbr%3E'
   36    85        INIT_FCALL                                               'getenv'
         86        SEND_VAL                                                 'HTTP_FORWARDED'
         87        DO_ICALL                                         $30     
         88        ECHO                                                     $30
   37    89        ECHO                                                     '%3Cbr%3E'
   38    90        INIT_FCALL                                               'getenv'
         91        SEND_VAL                                                 'REMOTE_ADDR'
         92        DO_ICALL                                         $31     
         93        ECHO                                                     $31
   40    94        INIT_FCALL                                               'fopen'
         95        SEND_VAL                                                 'ip.txt'
         96        SEND_VAL                                                 'a'
         97        DO_ICALL                                         $32     
         98        ASSIGN                                                   !2, $32
   41    99        INIT_FCALL                                               'fwrite'
        100        SEND_VAR                                                 !2
        101        SEND_VAL                                                 'OLD+IP%3A+'
        102        DO_ICALL                                                 
   42   103        INIT_FCALL                                               'fwrite'
        104        SEND_VAR                                                 !2
        105        SEND_VAR                                                 !0
        106        DO_ICALL                                                 
   43   107        INIT_FCALL                                               'fwrite'
        108        SEND_VAR                                                 !2
        109        SEND_VAL                                                 '+NEW+IP%3A+'
        110        DO_ICALL                                                 
   44   111        INIT_FCALL                                               'fwrite'
        112        SEND_VAR                                                 !2
        113        SEND_VAR                                                 !1
        114        DO_ICALL                                                 
   45   115        INIT_FCALL                                               'fwrite'
        116        SEND_VAR                                                 !2
        117        SEND_VAL                                                 '%0A'
        118        DO_ICALL                                                 
   46   119        INIT_FCALL                                               'fclose'
        120        SEND_VAR                                                 !2
        121        DO_ICALL                                                 
   48   122      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
165.03 ms | 1404 KiB | 21 Q