3v4l.org

run code in 500+ PHP versions simultaneously
<?php is_noble('Example'); // true $a = 'Hello'; $b = 'World'; is_noble($a); // true is_noble($a . $b); // true, конкатенация двух чистых строк тоже чистая is_noble("Hi $b"); // true is_noble($_GET['id']); // false потому что данные от пользователя is_noble(sprintf('Hi %s', $_GET['name'])); // false is_noble('/bin/rm -rf ' . $_GET['path']); // false is_noble('<img src=' . htmlentities($_GET['src']) . ' />'); // false — никакой ескейпинг не делает строку чистой is_noble('WHERE id = ' . $db->real_escape_string($_GET['id'])); // false
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/1aFC2
function name:  (null)
number of ops:  57
compiled vars:  !0 = $a, !1 = $b, !2 = $db
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL_BY_NAME                                           'is_noble'
          1        SEND_VAL_EX                                                  'Example'
          2        DO_FCALL                                          0          
    5     3        ASSIGN                                                       !0, 'Hello'
    6     4        ASSIGN                                                       !1, 'World'
    8     5        INIT_FCALL_BY_NAME                                           'is_noble'
          6        SEND_VAR_EX                                                  !0
          7        DO_FCALL                                          0          
    9     8        INIT_FCALL_BY_NAME                                           'is_noble'
          9        CONCAT                                               ~7      !0, !1
         10        SEND_VAL_EX                                                  ~7
         11        DO_FCALL                                          0          
   10    12        INIT_FCALL_BY_NAME                                           'is_noble'
         13        NOP                                                          
         14        FAST_CONCAT                                          ~9      'Hi+', !1
         15        SEND_VAL_EX                                                  ~9
         16        DO_FCALL                                          0          
   12    17        INIT_FCALL_BY_NAME                                           'is_noble'
         18        CHECK_FUNC_ARG                                               
         19        FETCH_FUNC_ARG                   global              $11     '_GET'
         20        FETCH_DIM_FUNC_ARG                                   $12     $11, 'id'
         21        SEND_FUNC_ARG                                                $12
         22        DO_FCALL                                          0          
   13    23        INIT_FCALL_BY_NAME                                           'is_noble'
         24        FETCH_R                          global              ~14     '_GET'
         25        FETCH_DIM_R                                          ~15     ~14, 'name'
         26        NOP                                                          
         27        FAST_CONCAT                                          ~16     'Hi+', ~15
         28        SEND_VAL_EX                                                  ~16
         29        DO_FCALL                                          0          
   14    30        INIT_FCALL_BY_NAME                                           'is_noble'
         31        FETCH_R                          global              ~18     '_GET'
         32        FETCH_DIM_R                                          ~19     ~18, 'path'
         33        CONCAT                                               ~20     '%2Fbin%2Frm+-rf+', ~19
         34        SEND_VAL_EX                                                  ~20
         35        DO_FCALL                                          0          
   15    36        INIT_FCALL_BY_NAME                                           'is_noble'
         37        INIT_FCALL                                                   'htmlentities'
         38        FETCH_R                          global              ~22     '_GET'
         39        FETCH_DIM_R                                          ~23     ~22, 'src'
         40        SEND_VAL                                                     ~23
         41        DO_ICALL                                             $24     
         42        CONCAT                                               ~25     '%3Cimg+src%3D', $24
         43        CONCAT                                               ~26     ~25, '+%2F%3E'
         44        SEND_VAL_EX                                                  ~26
         45        DO_FCALL                                          0          
   16    46        INIT_FCALL_BY_NAME                                           'is_noble'
         47        INIT_METHOD_CALL                                             !2, 'real_escape_string'
         48        CHECK_FUNC_ARG                                               
         49        FETCH_FUNC_ARG                   global              $28     '_GET'
         50        FETCH_DIM_FUNC_ARG                                   $29     $28, 'id'
         51        SEND_FUNC_ARG                                                $29
         52        DO_FCALL                                          0  $30     
         53        CONCAT                                               ~31     'WHERE+id+%3D+', $30
         54        SEND_VAL_EX                                                  ~31
         55        DO_FCALL                                          0          
         56      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
155.39 ms | 1471 KiB | 14 Q