Comments: Use proper HTTP response codes for validation errors.

props miqrogroove, solarissmoke, mackensen.
fixes #11286.

git-svn-id: https://develop.svn.wordpress.org/trunk@30579 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dominik Schilling (ocean90)
2014-11-26 20:16:47 +00:00
parent 17cefe0288
commit fb8588f115
2 changed files with 14 additions and 11 deletions

View File

@@ -47,7 +47,7 @@ if ( ! comments_open( $comment_post_ID ) ) {
* @param int $comment_post_ID Post ID.
*/
do_action( 'comment_closed', $comment_post_ID );
wp_die( __('Sorry, comments are closed for this item.') );
wp_die( __( 'Sorry, comments are closed for this item.' ), 403 );
} elseif ( 'trash' == $status ) {
/**
* Fires when a comment is attempted on a trashed post.
@@ -111,21 +111,24 @@ if ( $user->exists() ) {
}
}
} else {
if ( get_option('comment_registration') || 'private' == $status )
wp_die( __('Sorry, you must be logged in to post a comment.') );
if ( get_option( 'comment_registration' ) || 'private' == $status ) {
wp_die( __( 'Sorry, you must be logged in to post a comment.' ), 403 );
}
}
$comment_type = '';
if ( get_option('require_name_email') && !$user->exists() ) {
if ( 6 > strlen($comment_author_email) || '' == $comment_author )
wp_die( __('<strong>ERROR</strong>: please fill the required fields (name, email).') );
elseif ( !is_email($comment_author_email))
wp_die( __('<strong>ERROR</strong>: please enter a valid email address.') );
if ( 6 > strlen( $comment_author_email ) || '' == $comment_author ) {
wp_die( __( '<strong>ERROR</strong>: please fill the required fields (name, email).' ), 200 );
} else if ( ! is_email( $comment_author_email ) ) {
wp_die( __( '<strong>ERROR</strong>: please enter a valid email address.' ), 200 );
}
}
if ( '' == $comment_content )
wp_die( __('<strong>ERROR</strong>: please type a comment.') );
if ( '' == $comment_content ) {
wp_die( __( '<strong>ERROR</strong>: please type a comment.' ), 200 );
}
$comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_parent']) : 0;

View File

@@ -1131,7 +1131,7 @@ function wp_allow_comment( $commentdata ) {
if ( defined( 'DOING_AJAX' ) ) {
die( __('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
}
wp_die( __('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
wp_die( __( 'Duplicate comment detected; it looks as though you&#8217;ve already said that!' ), 409 );
}
/**
@@ -1249,7 +1249,7 @@ function check_comment_flood_db( $ip, $email, $date ) {
if ( defined('DOING_AJAX') )
die( __('You are posting comments too quickly. Slow down.') );
wp_die( __('You are posting comments too quickly. Slow down.'), '', array('response' => 403) );
wp_die( __( 'You are posting comments too quickly. Slow down.' ), 429 );
}
}
}