Go to file
Boone Gorges 0adb6877b2 Improve validation of user_login and user_nicename length.
The `user_login` field only allows 60 characters, and `user_nicename` allows
50. However, there are no protections in the interface, and few in the code,
that prevent the creation of users with values in excess of these limits. Prior
to recent changes in `$wpdb`, users were generally created anyway, MySQL
having performed the necessary truncation. More recently, the `INSERT`s and
`UPDATE`s simply fail, with no real feedback on the nature of the failure.

This changeset addresses the issue in a number of ways:
* On the user-new.php and network/user-new.php panels, don't allow input in excess of the maximum field length.
* In `wp_insert_user()`, throw an error if the value provided for `'user_login'` or `'user_nicename'` exceeds the maximum field length.
* In `wp_insert_user()`, when using `'user_login'` to generate a default value for `'user_nicename'`, ensure that the nicename is properly truncated, even when suffixed for uniqueness (username-2, etc).

Props dipesh.kakadiya, utkarshpatel, tommarshall, boonebgorges.
Fixes #33793.

git-svn-id: https://develop.svn.wordpress.org/trunk@34218 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 22:13:51 +00:00
src Improve validation of user_login and user_nicename length. 2015-09-15 22:13:51 +00:00
tests Improve validation of user_login and user_nicename length. 2015-09-15 22:13:51 +00:00
tools/i18n i18n tools: Use https for msgid-bugs-address URLs. 2015-07-27 19:37:13 +00:00
.editorconfig Use HTTPS URLs for codex.wordpress.org. 2015-04-12 21:28:58 +00:00
.gitignore Ignore .DS_Store files. 2015-03-13 18:11:33 +00:00
.jshintrc Update grunt-contrib-jshint to 0.11.0 2015-03-06 21:07:35 +00:00
.travis.yml Switch explicitly from nightly to 7.0 for Travis, for clarity. 2015-07-27 15:15:34 +00:00
Gruntfile.js Speed up browserify builds, don't uglify the media builds on watch. 2015-09-09 02:11:23 +00:00
package.json Build Tools: Update grunt-contrib-uglify to 0.9.2. 2015-08-25 03:27:23 +00:00
phpunit.xml.dist Exclude external-http tests when running phpunit. 2014-11-10 14:48:28 +00:00
wp-cli.yml Introduce default wp-cli.yml for core development. 2014-04-30 21:35:18 +00:00
wp-config-sample.php Lightly clean up and improve inline documentation in wp-config-sample.php. 2015-05-10 00:05:30 +00:00
wp-tests-config-sample.php Update wp-tests-config-sample.php to run with WP_DEBUG by default. see #25282. 2013-09-23 16:17:59 +00:00