403Webshell
Server IP : 172.67.158.161  /  Your IP : 3.139.104.23
Web Server : LiteSpeed
System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : giankuin ( 1871)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/giankuin/sieuthiweb.com.vn/dup-installer/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/giankuin/sieuthiweb.com.vn/dup-installer/classes/class.http.php
<?php
defined("DUPXABSPATH") or die("");

/** * *****************************************************
 *  CLASS::DUPX_Http
 *  Http Class Utility */
class DUPX_HTTP
{

    /**
     *  Do an http post request with curl or php code
     *  @param string $url		A URL to post to
     *  @param string $params	A valid key/pair combo $data = array('key1' => 'value1', 'key2' => 'value2');
     * 	@param string $headers	Optional header elements
     *  @return a string or FALSE on failure.
     */
    public static function post($url, $params = array(), $headers = null)
    {
        //PHP POST
        if (!function_exists('curl_init')) {
            return self::php_get_post($url, $params, $headers = null, 'POST');
        }

        //CURL POST
        $headers_on = isset($headers) && array_count_values($headers);
        $params     = http_build_query($params);
        $ch         = curl_init();

        // Return contents of transfer on curl_exec
        // Allow self-signed certs
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, $headers_on);

        if ($headers_on) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        }
        curl_setopt($ch, CURLOPT_POST, count($params));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }

    /**
     *  Do an http post request with curl or php code
     *  @param string $url		A URL to get.  If $params is not null then all query strings will be removed.
     *  @param string $params	A valid key/pair combo $data = array('key1' => 'value1', 'key2' => 'value2');
     * 	@param string $headers	Optional header elements
     *  @return a string or FALSE on failure.
     */
    public static function get($url, $params = array(), $headers = null)
    {
        //PHP GET
        if (!function_exists('curl_init')) {
            return self::php_get_post($url, $params, $headers = null, 'GET');
        }

        //Remove query string if $params are passed
        $full_url = $url;
        if (count($params)) {
            $url      = preg_replace('/\?.*/', '', $url);
            $full_url = $url.'?'.http_build_query($params);
        }
        $headers_on = isset($headers) && array_count_values($headers);
        $ch         = curl_init();

        // Return contents of transfer on curl_exec
        // Allow self-signed certs
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_URL, $full_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, $headers_on);
        if ($headers_on) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        }
        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }

    /**
     *  Gets the URL of the current request
     *  @param bool $show_query		Include the query string in the URL
     *  @return string	A URL
     */
    public static function get_request_uri($show_query = true)
    {
        $isSecure = false;

        if ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || ($_SERVER['SERVER_PORT'] == 443)) {
            $isSecure = true;
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
            $isSecure = true;
        }
        $protocol = $isSecure ? 'https' : 'http';
        // for ngrok url and Local by Flywheel Live URL
        if (isset($_SERVER['HTTP_X_ORIGINAL_HOST'])) {
            $host = $_SERVER['HTTP_X_ORIGINAL_HOST'];
        } else {
            $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; //WAS SERVER_NAME and caused problems on some boxes
        }
        $url = "{$protocol}://{$host}{$_SERVER['REQUEST_URI']}";
        $url = ($show_query) ? $url : preg_replace('/\?.*/', '', $url);
        return $url;
    }

    /**
     *  Check to see if the internet is accessible
     *  @param string $url		A URL e.g without prefix "ajax.googleapis.com"
     *  @param string $port		A valid port number
     *  @return bool
     */
    public static function is_url_active($url, $port, $timeout = 5)
    {
        if (function_exists('fsockopen')) {
            $port      = isset($port) && is_integer($port) ? $port : 80;
            $connected = @fsockopen($url, $port, $errno, $errstr, $timeout); //website and port
            if ($connected) {
                $is_conn = true;
                @fclose($connected);
            } else {
                $is_conn = false;
            }
            return $is_conn;
        } else {
            return false;
        }
    }

    public static function parse_host($url)
    {
        $url = parse_url(trim($url));
        if ($url == false) {
            return null;
        }
        return trim($url['host'] ? $url['host'] : array_shift(explode('/', $url['path'], 2)));
    }

    //PHP POST or GET requets
    private static function php_get_post($url, $params, $headers = null, $method)
    {
        $full_url = $url;
        if ($method == 'GET' && count($params)) {
            $url      = preg_replace('/\?.*/', '', $url);
            $full_url = $url.'?'.http_build_query($params);
        }

        $data = array('http' => array(
                'method'  => $method,
                'content' => http_build_query($params)));

        if ($headers !== null) {
            $data['http']['header'] = $headers;
        }
        $ctx = stream_context_create($data);
        $fp  = @fopen($full_url, 'rb', false, $ctx);
        if (!$fp) {
            throw new Exception("Problem with $full_url, $php_errormsg");
        }
        $response = @stream_get_contents($fp);
        if ($response === false) {
            throw new Exception("Problem reading data from $full_url, $php_errormsg");
        }
        return $response;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit