Make WordPress Core

Ticket #2800: 2800.2.diff

File 2800.2.diff, 1.3 KB (added by robmiller, 20 years ago)

Oops. This works :)

  • functions.php

     
    10491049
    10501050function wp_nonce_field($action = -1) {
    10511051        echo '<input type="hidden" name="_wpnonce" value="' . wp_create_nonce($action) . '" />';
     1052        wp_referer_field();
    10521053}
    10531054
     1055function wp_referer_field() {
     1056        echo '<input type="hidden" name="_wphttp_referer" value="'. wp_specialchars(stripslashes($_SERVER['REQUEST_URI'])) . '" />';
     1057}
     1058
    10541059function wp_mkdir_p($target) {
    10551060        // from php.net/mkdir user contributed notes
    10561061        if (file_exists($target)) {
  • pluggable-functions.php

     
    231231function check_admin_referer($action = -1) {
    232232        global $pagenow, $menu, $submenu, $parent_file, $submenu_file;;
    233233        $adminurl = strtolower(get_settings('siteurl')).'/wp-admin';
    234         $referer = strtolower($_SERVER['HTTP_REFERER']);
     234        $referer = (empty($_POST['_wphttp_referer'])) ? strtolower($_SERVER['HTTP_REFERER']) : strtolower($_POST['wp_http_referer']);
    235235        if ( !wp_verify_nonce($_REQUEST['_wpnonce'], $action) &&
    236236                !(-1 == $action && strstr($referer, $adminurl)) ) {
    237237                if ( $referer )