!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smm.picotech.app/public_html/vendor/ezyang/htmlpurifier/library/HTMLPurifier/   drwxr-xr-x
Free 28.57 GB of 117.98 GB (24.22%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     URIParser.php (2.24 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Parses a URI into the components and fragment identifier as specified
 * by RFC 3986.
 */
class HTMLPurifier_URIParser
{

    
/**
     * Instance of HTMLPurifier_PercentEncoder to do normalization with.
     */
    
protected $percentEncoder;

    public function 
__construct()
    {
        
$this->percentEncoder = new HTMLPurifier_PercentEncoder();
    }

    
/**
     * Parses a URI.
     * @param $uri string URI to parse
     * @return HTMLPurifier_URI representation of URI. This representation has
     *         not been validated yet and may not conform to RFC.
     */
    
public function parse($uri)
    {
        
$uri $this->percentEncoder->normalize($uri);

        
// Regexp is as per Appendix B.
        // Note that ["<>] are an addition to the RFC's recommended
        // characters, because they represent external delimeters.
        
$r_URI '!'.
            
'(([a-zA-Z0-9\.\+\-]+):)?'// 2. Scheme
            
'(//([^/?#"<>]*))?'// 4. Authority
            
'([^?#"<>]*)'.       // 5. Path
            
'(\?([^#"<>]*))?'.   // 7. Query
            
'(#([^"<>]*))?'.     // 8. Fragment
            
'!';

        
$matches = array();
        
$result preg_match($r_URI$uri$matches);

        if (!
$result) return false// *really* invalid URI

        // seperate out parts
        
$scheme     = !empty($matches[1]) ? $matches[2] : null;
        
$authority  = !empty($matches[3]) ? $matches[4] : null;
        
$path       $matches[5]; // always present, can be empty
        
$query      = !empty($matches[6]) ? $matches[7] : null;
        
$fragment   = !empty($matches[8]) ? $matches[9] : null;

        
// further parse authority
        
if ($authority !== null) {
            
$r_authority "/^((.+?)@)?(\[[^\]]+\]|[^:]*)(:(\d*))?/";
            
$matches = array();
            
preg_match($r_authority$authority$matches);
            
$userinfo   = !empty($matches[1]) ? $matches[2] : null;
            
$host       = !empty($matches[3]) ? $matches[3] : '';
            
$port       = !empty($matches[4]) ? (int) $matches[5] : null;
        } else {
            
$port $host $userinfo null;
        }

        return new 
HTMLPurifier_URI(
            
$scheme$userinfo$host$port$path$query$fragment);
    }

}

// vim: et sw=4 sts=4

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0042 ]--