Changeset 46916 for branches/4.7
- Timestamp:
- 12/12/2019 06:51:18 PM (6 years ago)
- Location:
- branches/4.7
- Files:
-
- 4 edited
-
. (modified) (1 prop)
-
src/wp-includes/kses.php (modified) (1 diff)
-
src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php (modified) (3 diffs)
-
tests/phpunit/tests/kses.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/4.7
- Property svn:mergeinfo changed
/trunk merged: 46893,46895
- Property svn:mergeinfo changed
-
branches/4.7/src/wp-includes/kses.php
r46007 r46916 1385 1385 function wp_kses_bad_protocol_once($string, $allowed_protocols, $count = 1 ) { 1386 1386 $string = preg_replace( '/(�*58(?![;0-9])|�*3a(?![;a-f0-9]))/i', '$1;', $string ); 1387 $string2 = preg_split( '/:|�*58;|�*3a; /i', $string, 2 );1387 $string2 = preg_split( '/:|�*58;|�*3a;|:/i', $string, 2 ); 1388 1388 if ( isset($string2[1]) && ! preg_match('%/\?%', $string2[0]) ) { 1389 1389 $string = trim( $string2[1] ); -
branches/4.7/src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php
r40337 r46916 497 497 } 498 498 499 if ( ! empty( $request['sticky'] ) && ! current_user_can( $post_type->cap->edit_others_posts ) ) {499 if ( ! empty( $request['sticky'] ) && ! current_user_can( $post_type->cap->edit_others_posts ) && ! current_user_can( $post_type->cap->publish_posts ) ) { 500 500 return new WP_Error( 'rest_cannot_assign_sticky', __( 'Sorry, you are not allowed to make posts sticky.' ), array( 'status' => rest_authorization_required_code() ) ); 501 501 } … … 641 641 } 642 642 643 if ( ! empty( $request['sticky'] ) && ! current_user_can( $post_type->cap->edit_others_posts ) ) {643 if ( ! empty( $request['sticky'] ) && ! current_user_can( $post_type->cap->edit_others_posts ) && ! current_user_can( $post_type->cap->publish_posts ) ) { 644 644 return new WP_Error( 'rest_cannot_assign_sticky', __( 'Sorry, you are not allowed to make posts sticky.' ), array( 'status' => rest_authorization_required_code() ) ); 645 645 } … … 934 934 */ 935 935 protected function prepare_item_for_database( $request ) { 936 $prepared_post = new stdClass ;936 $prepared_post = new stdClass(); 937 937 938 938 // Post ID. -
branches/4.7/tests/phpunit/tests/kses.php
r46007 r46916 170 170 } 171 171 172 $bad_not_normalized = array( 173 'dummy:alert(1)', 174 'javascript:alert(1)', 175 'javascript&CoLon;alert(1)', 176 'javascript:alert(1);', 177 'javascript:alert(1);', 178 'javascript:alert(1);', 179 'javascript:alert(1);', 180 'jav ascript:alert(1);', 181 'javascript:javascript:alert(1);', 182 'javascript:javascript:alert(1);', 183 'javascript:javascript:alert(1);', 184 'javascript:javascript:alert(1);', 185 'javascript:alert(1)', 186 ); 187 foreach ( $bad_not_normalized as $k => $x ) { 188 $result = wp_kses_bad_protocol( $x, wp_allowed_protocols() ); 189 if ( ! empty( $result ) && 'alert(1);' !== $result && 'alert(1)' !== $result ) { 190 $this->fail( "wp_kses_bad_protocol failed on $k, $x. Result: $result" ); 191 } 192 } 193 172 194 $safe = array( 173 195 'dummy:alert(1)',
Note: See TracChangeset
for help on using the changeset viewer.