Make WordPress Core

Ticket #44107: 44107.diff

File 44107.diff, 1.4 KB (added by mkox, 3 years ago)

Create error if user url length is > 100 characters, includes unit-test

  • src/wp-includes/user.php

    diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php
    index 3a11fa10bf..b734801eb0 100644
    a b function wp_insert_user( $userdata ) { 
    20342034
    20352035        $raw_user_url = empty( $userdata['user_url'] ) ? '' : $userdata['user_url'];
    20362036
     2037        /**
     2038         * Check if user url length  is <= 100 chars
     2039         *
     2040         * @since 6.0.0
     2041         *
     2042         * @ticket 44107
     2043         */
     2044        if ( mb_strlen( $raw_user_url ) > 100 ) {
     2045                return new WP_Error( 'user_url_too_long', __( 'User URL may not be longer than 100 characters.' ) );
     2046        }
     2047
    20372048        /**
    20382049         * Filters a user's URL before the user is created or updated.
    20392050         *
  • tests/phpunit/tests/user.php

    diff --git a/tests/phpunit/tests/user.php b/tests/phpunit/tests/user.php
    index 8c4c0d199e..edbb6ed788 100644
    a b class Tests_User extends WP_UnitTestCase { 
    10001000                $this->assertSame( $expected, $user->user_nicename );
    10011001        }
    10021002
     1003        /**
     1004         * @ticket 44107
     1005         */
     1006        public function test_wp_insert_user_should_reject_user_url_over_100_characters() {
     1007                $user_url = str_repeat( 'a', 101 );
     1008       
     1009                $u             = wp_insert_user(
     1010                        array(
     1011                                'user_login'    => 'test',
     1012                                'user_email'    =>  'test@example.com',
     1013                                'user_pass'     => 'password',
     1014                                'user_url' => $user_url,
     1015                        )
     1016                );
     1017       
     1018                $this->assertWPError( $u );
     1019        }
     1020
    10031021        /**
    10041022         * @ticket 28004
    10051023         */