403Webshell
Server IP : 172.67.162.67  /  Your IP : 216.73.216.222
Web Server : Apache
System : Linux vps42439 6.8.0-136-generic #136~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 3 16:29:11 UTC x86_64
User : dh_7hi3h9 ( 6349477)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/dh_7hi3h9/regalflower.com/wp-content/plugins/redirection/actions/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/dh_7hi3h9/regalflower.com/wp-content/plugins/redirection/actions/pass.php
<?php

require_once __DIR__ . '/url.php';

/**
 * A 'pass through' action. Matches a rewrite rather than a redirect, and uses PHP to fetch data from a remote URL.
 */
class Pass_Action extends Url_Action {
	/**
	 * Process an external passthrough - a URL that lives external to this server.
	 *
	 * @param string $url Target URL.
	 * @return void
	 */
	public function process_external( $url ) {
		// This is entirely at the user's risk. The $url is set by the user
		// phpcs:ignore
		echo wp_remote_fopen( $url );
	}

	/**
	 * Process an internal passthrough - a URL that lives on the same server. Here we change the request URI and continue without making a remote request.
	 *
	 * @param string $target Target URL.
	 * @return void
	 */
	public function process_internal( $target ) {
		// Another URL on the server
		$pos = strpos( $target, '?' );
		$_SERVER['REQUEST_URI'] = $target;
		$_SERVER['PATH_INFO'] = $target;

		if ( $pos ) {
			$_SERVER['QUERY_STRING'] = substr( $target, $pos + 1 );
			$_SERVER['PATH_INFO'] = $target;

			// Take the query params in the target and make them the params for this request
			parse_str( $_SERVER['QUERY_STRING'], $_GET );
		}
	}

	/**
	 * Is a URL external?
	 *
	 * @param string $target URL to test.
	 * @return boolean
	 */
	public function is_external( $target ) {
		return substr( $target, 0, 7 ) === 'http://' || substr( $target, 0, 8 ) === 'https://';
	}

	/**
	 * Pass the data from the target
	 *
	 * @return void
	 */
	public function run() {
		// External target
		$target = $this->get_target();
		if ( $target === null ) {
			return;
		}

		if ( $this->is_external( $target ) ) {
			// Pass on to an external request, echo the results, and then stop
			$this->process_external( $target );
			exit();
		}

		// Change the request and carry on
		$this->process_internal( $target );
	}

	public function name() {
		return __( 'Pass-through', 'redirection' );
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit