3v4l.org

run code in 300+ PHP versions simultaneously
<?php $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; $cookie = "5x0:hund"; $input = explode(":", $cookie); $input[1] = md5($input[1]); 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 = 15, Position 2 = 28
Branch analysis from position: 15
2 jumps found. (Code = 78) Position 1 = 16, Position 2 = 28
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 27
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
Branch analysis from position: 27
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 32
Branch analysis from position: 31
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 37
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
filename:       /in/YhKrD
function name:  (null)
number of ops:  39
compiled vars:  !0 = $users, !1 = $valid_user, !2 = $cookie, !3 = $input, !4 = $user, !5 = $uid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
   17     1        ASSIGN                                                   !1, <false>
   19     2        ASSIGN                                                   !2, '5x0%3Ahund'
   20     3        INIT_FCALL                                               'explode'
          4        SEND_VAL                                                 '%3A'
          5        SEND_VAR                                                 !2
          6        DO_ICALL                                         $9      
          7        ASSIGN                                                   !3, $9
   21     8        INIT_FCALL                                               'md5'
          9        FETCH_DIM_R                                      ~12     !3, 1
         10        SEND_VAL                                                 ~12
         11        DO_ICALL                                         $13     
         12        ASSIGN_DIM                                               !3, 1
         13        OP_DATA                                                  $13
   23    14      > FE_RESET_R                                       $14     !0, ->28
         15    > > FE_FETCH_R                                               $14, !4, ->28
   25    16    >   INIT_FCALL                                               'explode'
         17        SEND_VAL                                                 '%3A'
         18        SEND_VAR                                                 !4
         19        DO_ICALL                                         $15     
         20        ASSIGN                                                   !4, $15
   26    21        IS_IDENTICAL                                             !3, !4
         22      > JMPZ                                                     ~17, ->27
   27    23    >   FETCH_DIM_R                                      ~18     !3, 0
         24        ADD                                              ~19     ~18, 0
         25        ASSIGN                                                   !5, ~19
   28    26        ASSIGN                                                   !1, <true>
   23    27    > > JMP                                                      ->15
         28    >   FE_FREE                                                  $14
   32    29        BOOL_NOT                                         ~22     !1
         30      > JMPZ                                                     ~22, ->32
   33    31    > > EXIT                                                     'not+a+valid+user%0A'
   36    32    >   IS_EQUAL                                                 !5, 0
         33      > JMPZ                                                     ~23, ->37
   38    34    >   ECHO                                                     'Hello+Admin+How+can+I+serve+you+today%3F%0A'
   39    35        ECHO                                                     'SECRETS+....%0A'
         36      > JMP                                                      ->38
   42    37    >   ECHO                                                     'Welcome+back+user%0A'
   43    38    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.44 ms | 1400 KiB | 17 Q