Make WordPress Core

Ticket #57395: 57395.diff

File 57395.diff, 860 bytes (added by dunhakdis, 3 years ago)

Improves post preview messages for expired nonce and unauthenticated users

  • wp-includes/revision.php

    diff --git a/wp-includes/revision.php b/wp-includes/revision.php
    index 9d3ca6f42401..b32163877b6e 100644
    a b function _set_preview( $post ) { 
    722722 * @access private
    723723 */
    724724function _show_post_preview() {
     725
    725726        if ( isset( $_GET['preview_id'] ) && isset( $_GET['preview_nonce'] ) ) {
     727
     728                if ( ! is_user_logged_in() ) {
     729                        wp_die( __( 'Sorry, you are not allowed to preview drafts. Unauthorized request.' ), 401 );
     730                }
     731
    726732                $id = (int) $_GET['preview_id'];
    727733
    728734                if ( false === wp_verify_nonce( $_GET['preview_nonce'], 'post_preview_' . $id ) ) {
    729                         wp_die( __( 'Sorry, you are not allowed to preview drafts.' ), 403 );
     735                        wp_die( __( 'Sorry, you are not allowed to preview drafts. Nonce is invalid.' ), 403 );
    730736                }
    731737
    732738                add_filter( 'the_preview', '_set_preview' );
     739
    733740        }
     741
    734742}
    735743
    736744/**