Do not allow username in passwords.

A perfect place for code snippets to small to be a MOD or a library.
Or for examples on how to use our libraries.
Post Reply
User avatar
tumba25
Supporter
Supporter
Posts: 1058
Joined: 24 Oct 2007, 13:10
Real name: Jari Kanerva
Location: Kokkola, Finland.
Contact:

Do not allow username in passwords.

Post by tumba25 »

This snippet will check for the username in the password and return a error message to the user if it does.

Open includes/functions_user.php
FIND

Code: Select all

function validate_data($data, $val_ary)
{
   global $user;

   $error = array();

ADD AFTER

Code: Select all

   // Check the password against the username
   if(!empty($data['username']) && !empty($data['new_password']))
   {
      $uname = trim(strtolower($data['username']));
      $pass = trim(strtolower($data['new_password']));

      // Remove whitespace.
      $remove = array(' ', "\t");
      $pass = str_replace($remove, '', $pass);
      $uname = str_replace($remove, '', $uname);

      if (strpos($pass, $uname) !== false)
      {
         $error[] = $user->lang['NO_USERNAME_PASSWORD'];
      }
   }


Open language/en/ucp.php
FIND

Code: Select all

   'NO_TO_RECIPIENT'         => 'None',

ADD AFTER

Code: Select all

   'NO_USERNAME_PASSWORD' => 'Your password is not allowed to contain your username',


Remember to always backup stuff first.
Last edited by tumba25 on 13 Jan 2015, 00:00, edited 2 times in total.
Reason: B
User avatar
tumba25
Supporter
Supporter
Posts: 1058
Joined: 24 Oct 2007, 13:10
Real name: Jari Kanerva
Location: Kokkola, Finland.
Contact:

Re: Do not allow username in passwords.

Post by tumba25 »

Fixed a minor bug.
User avatar
Ooopsie
Supporter
Supporter
Posts: 1213
Joined: 19 Aug 2010, 16:34
Location: Index, WA
Contact:

Re: Do not allow username in passwords.

Post by Ooopsie »

Great security snippet. Thanks! :beer:
Image
Oopsie
_____
Be who you are and say what you feel.
Those who mind don't matter.
Those who matter don't mind.
- Dr. Seuss

_____
And be kinder than necessary, for everyone
you meet is fighting some kind of battle.
Post Reply