Skip to content

Remove plaintext password sending #565

@Bloke

Description

@Bloke

This is 2015, and sending passwords via email in cleartext hasn't been cool since about 1971. Changes required:

  • Drop 'mail it to me' feature when changing password on Admin panel.
  • When creating new author, send a link in the welcome email to an admin screen that allows a password to be set. The link expires in N minutes (where N is configurable via a pref environment variable).
  • Likewise when resetting a password: send the same reset link we do now, but instead of it regenerating the password and mailing it out, it'll prompt for a new password (+ confirmation?) in txp_auth.php and set it directly there on submit.
  • New step(s) in txp_auth.php to permit the above functionality, with UI to allow the following features:
    • New password input box.
    • Confirmation input box?
    • Perhaps the ability to toggle the password input boxes between plaintext and asterisks. Although this could be deemed a security risk. And if there's the ability to see the password used, a second confirmation box is probably not necessary.
    • A little inline help showing examples of good password strategies. EDIT: removed for now until a suitable set of guidelines or i18n policy in zxcvbn can be fathomed.
    • A link to generate a random password (calls the internal functions we have now, perhaps via AJAX, and spits a new password to the screen with each click). EDIT: not implemented as it's poor security practice.
    • Possible strength meter, if deemed appropriate and we can find one that doesn't suck.
  • Parts of the above may be extended to the setup routine too when creating the initial admin user (e.g. the 'get random password' link and 'password hint strategies' help text, maybe along with a strength meter).
  • Rate limit the reset requests to an N minute window (e.g. 5) to prevent abuse from repeated password reset requests from the public side.

Anything else need adding to this list, or changing?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions