3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_COOKIE['user'] = array("\0555", "hund"); $users = array( "0:9b5c3d2b64b8f74e56edec71462bd97a" , "1:4eb5fb1501102508a86971773849d266", "2:facabd94d57fc9f1e655ef9ce891e86e", "3:ce3924f011fe323df3a6a95222b0c909", "4:7f6618422e6a7ca2e939bd83abde402c", "5:06e2b745f3124f7d670f78eabaa94809", "6:8e39a6e40900bb0824a8e150c0d0d59f", "7:d035e1a80bbb377ce1edce42728849f2", "8:0927d64a71a9d0078c274fc5f4f10821", "9:e2e23d64a642ee82c7a270c6c76df142", "10:70298593dd7ada576aff61b6750b9118" ); $valid_user = false; $input = $_COOKIE['user']; $input[1] = md5($input[1]); var_dump($input, $input[0] + 0, $input[0] + 0 == 0); foreach ($users as $user) { $user = explode(":", $user); if ($input === $user) { $uid = $input[0] + 0; $valid_user = true; } } if (!$valid_user) { die("not a valid user\n"); } if ($uid == 0) { echo "Hello Admin How can I serve you today?\n"; echo "SECRETS ....\n"; } else { echo "Welcome back user\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 25, Position 2 = 38
Branch analysis from position: 25
2 jumps found. (Code = 78) Position 1 = 26, Position 2 = 38
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 37
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 37
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 42
Branch analysis from position: 41
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 42
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 47
Branch analysis from position: 44
1 jumps found. (Code = 42) Position 1 = 48
Branch analysis from position: 48
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 38
filename:       /in/r1btd
function name:  (null)
number of ops:  49
compiled vars:  !0 = $users, !1 = $valid_user, !2 = $input, !3 = $user, !4 = $uid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   FETCH_W                      global              $5      '_COOKIE'
          1        ASSIGN_DIM                                               $5, 'user'
          2        OP_DATA                                                  <array>
    6     3        ASSIGN                                                   !0, <array>
   20     4        ASSIGN                                                   !1, <false>
   22     5        FETCH_R                      global              ~9      '_COOKIE'
          6        FETCH_DIM_R                                      ~10     ~9, 'user'
          7        ASSIGN                                                   !2, ~10
   23     8        INIT_FCALL                                               'md5'
          9        FETCH_DIM_R                                      ~13     !2, 1
         10        SEND_VAL                                                 ~13
         11        DO_ICALL                                         $14     
         12        ASSIGN_DIM                                               !2, 1
         13        OP_DATA                                                  $14
   24    14        INIT_FCALL                                               'var_dump'
         15        SEND_VAR                                                 !2
         16        FETCH_DIM_R                                      ~15     !2, 0
         17        ADD                                              ~16     ~15, 0
         18        SEND_VAL                                                 ~16
         19        FETCH_DIM_R                                      ~17     !2, 0
         20        ADD                                              ~18     ~17, 0
         21        IS_EQUAL                                         ~19     ~18, 0
         22        SEND_VAL                                                 ~19
         23        DO_ICALL                                                 
   25    24      > FE_RESET_R                                       $21     !0, ->38
         25    > > FE_FETCH_R                                               $21, !3, ->38
   27    26    >   INIT_FCALL                                               'explode'
         27        SEND_VAL                                                 '%3A'
         28        SEND_VAR                                                 !3
         29        DO_ICALL                                         $22     
         30        ASSIGN                                                   !3, $22
   29    31        IS_IDENTICAL                                             !2, !3
         32      > JMPZ                                                     ~24, ->37
   30    33    >   FETCH_DIM_R                                      ~25     !2, 0
         34        ADD                                              ~26     ~25, 0
         35        ASSIGN                                                   !4, ~26
   31    36        ASSIGN                                                   !1, <true>
   25    37    > > JMP                                                      ->25
         38    >   FE_FREE                                                  $21
   35    39        BOOL_NOT                                         ~29     !1
         40      > JMPZ                                                     ~29, ->42
   36    41    > > EXIT                                                     'not+a+valid+user%0A'
   39    42    >   IS_EQUAL                                                 !4, 0
         43      > JMPZ                                                     ~30, ->47
   41    44    >   ECHO                                                     'Hello+Admin+How+can+I+serve+you+today%3F%0A'
   42    45        ECHO                                                     'SECRETS+....%0A'
         46      > JMP                                                      ->48
   45    47    >   ECHO                                                     'Welcome+back+user%0A'
   46    48    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
172.62 ms | 1400 KiB | 19 Q