!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/OLD_WP/wp-content/plugins/broken-link-checker/modules/extras/   drwxr-xr-x
Free 179.53 GB of 490.84 GB (36.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     mediafire.php (5.43 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
Plugin Name: MediaFire API
Description: Check links to files hosted on MediaFire. 
Version: 1.0
Author: Janis Elsts

ModuleID: mediafire-checker
ModuleCategory: checker
ModuleContext: on-demand
ModuleLazyInit: true
ModuleClassName: blcMediaFireChecker
ModulePriority: 100

ModuleCheckerUrlPattern: @^http://(?:www\.)?mediafire\.com/(?:(?:download\.php)?\?|download/)([0-9a-zA-Z]{11,20})(?:$|[^0-9a-zA-Z])@
*/

/**
 * MediaFire link checker.
 * 
 * @package Broken Link Checker
 * @author Janis Elsts
 * @access public
 */
class blcMediaFireChecker extends blcChecker {
    
    
/**
     * Determine if the checker can parse a specific URL.
     * Always returns true because the ModuleCheckerUrlPattern header constitutes sufficient verification.
     * 
     * @param string $url
     * @param array $parsed
     * @return bool True.
     */
    
function can_check($url$parsed){
        return 
true;
    }
    
    
/**
     * Check a MediaFire link.
     * 
     * @param string $url
     * @return array
     */
    
function check($url){
        
$result = array(
            
'final_url' => $url,
            
'redirect_count' => 0,
            
'timeout' => false,
            
'broken' => false,
            
'log' => "<em>(Using MediaFire checker module)</em>\n\n",
            
'http_code' => 0,
            
'result_hash' => '',
        );
        
        
//URLs like http://www.mediafire.com/download.php?03mj0mwmnnm are technically valid,
        //but they introduce unnecessary redirects.
        
$url str_replace('download.php',''$url);
        
        
//Since MediaFire doesn't have an API, we just send a HEAD request
        //and try do divine the file state from the response headers.
        
$start microtime_float();
        
$rez $this->head($url);
        
$result['request_duration'] = microtime_float() - $start;
                
        if ( 
is_wp_error($rez) ){
            
            
//An unexpected error.
            
$result['broken'] = true
            
$result['log'] .= "Error : " $rez->get_error_message();
            if ( 
$data $rez->get_error_data() ){
                
$result['log'] .= "\n\nError data : " print_r($datatrue);
            }
            
        } else {
                                                            
            
$result['http_code'] = intval($rez['response']['code']);
            
            if ( 
$result['http_code'] == 200 ){
                
//200 - OK
                
$result['broken'] = false;
                
$result['log'] .= "File OK";
            } elseif ( isset(
$rez['headers']['location']) ) {
                
//Redirect = either an error or a redirect to the full file URL.
                //For errors, the redirect URL is structured like this : '/error.php?errno=320'.
                //The 'errno' argument contains an (undocumented) error code.
                
$result['broken'] = true;

                if ( 
strpos($rez['headers']['location'], '/download/') !== false ) {
                    
$result['broken'] = false;
                    
$result['http_code'] = 200;
                    
$result['log'] .= "File OK";
                    
$result['log'] .= "\nFull URL: " $rez['headers']['location'];

                } elseif ( 
strpos($rez['headers']['location'], 'errno=320') !== false ){
                    
$result['status_code'] = BLC_LINK_STATUS_ERROR;
                    
$result['status_text'] = __('Not Found''broken-link-checker');
                    
$result['http_code'] = 0;
                    
$result['log'] .= "The file is invalid or has been removed.";

                } elseif ( 
strpos($rez['headers']['location'], 'errno=378') !== false ) {
                    
$result['status_code'] = BLC_LINK_STATUS_ERROR;
                    
$result['status_text'] = __('Not Found''broken-link-checker');
                    
$result['http_code'] = 0;
                    
$result['log'] .= "The file has been removed due to a violation of MediaFire ToS.";

                } elseif ( 
strpos($rez['headers']['location'], 'errno=388') !== false ) {
                    
$result['status_code'] = BLC_LINK_STATUS_WARNING;
                    
$result['status_text'] = __('Permission Denied''broken-link-checker');
                    
$result['http_code'] = 0;
                    
$result['log'] .= "Permission denied. Most likely the plugin sent too many requests too quickly. Try again later.";

                } else {
                    
$result['status_code'] = BLC_LINK_STATUS_INFO;
                    
$result['status_text'] = __('Unknown Error''broken-link-checker');
                    
$result['log'] .= "Unknown error.\n\n";
                    foreach(
$rez['headers'] as $name => $value){
                        
$result['log'] .= sprintf("%s: %s\n"$name$value);
                    }
                }

            } else {
                
$result['log'] .= "Unknown error.\n\n" implode("\n",$rez['headers']);
            }
        }
        
        
//Generate the result hash (used for detecting false positives)  
        
$result['result_hash'] = implode('|', array(
            
'mediafire',
            
$result['http_code'],
            
$result['broken']?'broken':'0'
            
$result['timeout']?'timeout':'0'
        
));
        
        return 
$result;
    }
    
    
/**
     * Perform a HEAD request to the specified URL.
     * 
     * Note : 
     * 
     * Since the MediaFire checker works by parsing the "Location" header, redirect following
     * _must_ be disabled. This can become a problem on servers where WP is forced to fall back
     * on using WP_Http_Fopen which ignores the 'redirection' flag. WP_Http_Fsockopen would work, 
     * but it has the lowest priority of all transports. 
     * 
     * Alas, there is no way to reliably influence which transport is chosen - the WP_Http::_getTransport
     * function caches the available choices, so plugins can disable individual transports only during
     * its first run. Therefore, we must pick the best transport manually.
     * 
     * @param string $url
     * @return array|WP_Error
     */
    
function head($url){
        
$conf blc_get_configuration();
        
$args = array(
            
'timeout' => $conf->options['timeout'],
            
'redirection' => 0,
            
'_redirection' => 0//Internal flag that turns off redirect handling. See WP_Http::handle_redirects()
        
);

        return 
wp_remote_head($url$args);
    }
    
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0068 ]--