Perfect, that worked!!


Thanks very much.


Gary


On 4/5/2018 11:01 AM, Jeff Koch wrote:
For that section:

The original code was this:

     <form method="post" name="logon" action="">
          <input type="hidden" name="modu" value="##A">
          <input type="hidden" name="do.login" value="ChangePassword">
          <input type="hidden" name="user" value="##U">
          <input type="hidden" name="dom" value="##D">
          <input type="hidden" name="time" value="##T">
      <table cellpadding="1" cellspacing="1" border="0">
      <tr>
        <td align="right">##X092:</td>
        <td align="left"><input type="text" name="gecos" maxlength="128" size="32" value="##i7"></td>
      </tr>
      <tr>
        <td align="right">##X110:</td>
        <td align="left"><input type="password" name="password1" maxlength=128 size=16></td>
      </tr>
      <tr>
        <td align="right">##X091</td>
        <td align="left"><input type="password" name="password2" maxlength=128 size=16></td>
      </tr>
##tq      <tr>
        <td align="right">##X249:</td>
        <td align="left">
##ta
          <input type="text" name="quota" maxlength="128" size="16" value="##q">
          &nbsp;##X251
 .................................
..................................
    <tr>
     <td colspan=2 align=right>
      <input type="submit" name="##X111" value="##X111">
     </td>
    </tr>
   </table>
   </form>




The modified code looks like this:

                           <form method="post" name="logon" action="">
                              <span class="style1">
                              <input type="hidden" name="modu" value="##A">
                              <input type="hidden" name="do.login" value="ChangePassword">
                              <input type="hidden" name="user" value="##U">
                              <input type="hidden" name="dom" value="##D">
                              <input type="hidden" name="time" value="##T">
                              </span>
                              <table cellpadding="1" cellspacing="1" border="0">
                                <tr>
                                  <td align="right" class="style1">##X092:</td>
                                  <td align="left" class="style1">
                                    <input type="text" name="gecos" maxlength="128" size="32" value="##i7">
                                  </td>
                                </tr>
                                <tr>
                                  <td align="right" class="style1">##X110:</td>
                                  <td align="left" class="style1">
                                    <input type="password" name="password1" maxlength=128 size=16 id="pass" _onkeyup_="passwordStrength(this.value)">
                                  </td>
                                </tr>
                                <tr>
                                  <td align="right" class="style1">##X091</td>
                                  <td align="left" class="style1">
                                    <input type="password" name="password2" maxlength=128 size=16>
                                  </td>
                                </tr>
                      <tr>
                        <td align=right><span class="style1">Password strength:</span></td>
                        <td align="left"><span class="style1"><div id="passwordDescription">Password not entered</div></td>
                      </tr>
                      <tr>
                        <td align=right><span class="style1"></span></td>
                        <td align="left"><span class="style1">
                        <div id="passwordStrength" class="strength0"></div>
                        <br>
                        </td>
                      </tr>
<tr><td colspan=2 align=left>
<span class="style1">Passwords must be at least eight characters and include three of the following four types: upper case letters, lower case letters, numbers and special characters.</span>
</td></tr>


                      ##tq
                      <tr>
                        <td align="right" class="style1">##X249:</td>
                        <td align="left" class="style1"> ##ta
                            <input type="text" name="quota" maxlength="128" size="16" value="##q">
&nbsp;##X251

...............................................
..............................................
                      <tr class="style2">
                        <td colspan=2 align=center> <br>
                            <input type="submit" id="btnSubmit" name="##X111" value="##X111">
                        </td>
                      </tr>
                              </table>
                            </form>




Jeff



On 4/5/2018 10:39 AM, Gary Bowling wrote:


Also, does the code below replace the old "password1" section? Which looked like this.


      <tr>
        <td align="right">##X110:</td>
        <td align="left"><input type="password" name="password1" maxlength=128 size=16></td>
      </tr>


And I assume the password2 section remains the same, which looked like this.


      <tr>
        <td align="right">##X091</td>
        <td align="left"><input type="password" name="password2" maxlength=128 size=16></td>
      </tr>


Thanks and sorry for all the questions, I'm not a coder (obviously!) which of course is why I have a toaster in the first place. But I can follow directions!


Gary


On 4/5/2018 10:04 AM, Jeff Koch wrote:
Sorry - I left out this piece of code - goes right before the code that says password2. It's been 10 years since we looked at this.

                                <tr>
                                  <td align="right" class="style1">##X110:</td>
                                  <td align="left" class="style1">
                                    <input type="password" name="password1" maxlength=128 size=16 id="pass" _onkeyup_="passwordStrength(this.value)">
                                  </td>
                                </tr>

Jeff

On 4/5/2018 9:55 AM, Jeff Koch wrote:
Hi Gary:

Only affects new passwords entered in mod_user.html. You'll need to add similar _javascript_.to 'add_user.html'. You can do the same in squirrelmail if you can find the correct place to slug in the _javascript_. The code analyzes text entered in the input field  'password' and grays out the submit button until the password meets the test criteria. It's pretty basic code and I'm sure _javascript_ experts could do a lot to improve it and give more clues to the users.

Once of the problems with messing with the templates is that there is no table defining the hash mark codes like ##tt ##tu ##X251. If anyone has a cheat sheet please share.

Jeff

On 4/5/2018 7:42 AM, Gary Bowling wrote:


Thanks Jeff. Just to make sure, if I do that edit it doesn't affect any existing passwords? Only inputting any new passwords or changing any passwords?


Also, I guess a user can still change their password via squirrelmail and bypass these rules? That rarely happens on my server, but just want to make sure I understand.


Thanks, Gary


On 4/4/2018 11:03 PM, Jeff Koch wrote:
You can insert _javascript_ password rules in the html code templates for qmailadmin.

Here's a simple password strength _javascript_ that goes in the top of mod_user.html

<script>

function passwordStrength(password)
{
        var desc = new Array();
        desc[0] = "Very Weak";
        desc[1] = "Weak";
        desc[2] = "Better";
        desc[3] = "Medium";
        desc[4] = "Strong";
        desc[5] = "Strongest";

        var score   = 0;

        //if password bigger than 7 give 1 point
        if (password.length > 7) score++;

        //if password has both lower and uppercase characters give 1 point
        if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++;

        //if password has at least one number give 1 point
        if (password.match(/\d+/)) score++;

        //if password has at least one special characther give 1 point
        if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) ) score++;

        //if password bigger than 12 give another 1 point
        if (password.length > 12) score++;

         document.getElementById("passwordDescription").innerHTML = desc[score];
         document.getElementById("passwordStrength").className = "strength" + score;

         if (score > 2 ) {
           document.getElementById("btnSubmit").disabled = false;
         }else{
           document.getElementById("btnSubmit").disabled = true;
         }

         return score;
}

</script>

then further along in the code we have:

                                  <td align="left" class="style1">
                                    <input type="password" name="password2" maxlength=128 size=16>
                                  </td>
                                </tr>
                      <tr>
                        <td align=right><span class="style1">Password strength:</span></td>
                        <td align="left"><span class="style1"><div id="passwordDescription">Password not entered</div></td>
                      </tr>
                      <tr>
                        <td align=right><span class="style1"></span></td>
                        <td align="left"><span class="style1">
                        <div id="passwordStrength" class="strength0"></div>
                        <br>
                        </td>
                      </tr>
<tr><td colspan=2 align=left>
<span class="style1">Passwords must be at least eight characters and include three of the following four types: upper case letters, lower case letters, numbers and special characters.</span>
</td></tr>



Regards, Jeff








On 4/4/2018 6:51 PM, Gary Bowling wrote:


Last time I checked it was either not possible or not easy to implement password rules one the toaster. But that was a long time ago.


Has anything changed in that regard?

--
____________________
Gary Bowling
--------------------------------------------------------------------- To unsubscribe, e-mail: qmailtoaster-list-unsubscr...@qmailtoaster.com For additional commands, e-mail: qmailtoaster-list-h...@qmailtoaster.com


--------------------------------------------------------------------- To unsubscribe, e-mail: qmailtoaster-list-unsubscr...@qmailtoaster.com For additional commands, e-mail: qmailtoaster-list-h...@qmailtoaster.com



--------------------------------------------------------------------- To unsubscribe, e-mail: qmailtoaster-list-unsubscr...@qmailtoaster.com For additional commands, e-mail: qmailtoaster-list-h...@qmailtoaster.com


--------------------------------------------------------------------- To unsubscribe, e-mail: qmailtoaster-list-unsubscr...@qmailtoaster.com For additional commands, e-mail: qmailtoaster-list-h...@qmailtoaster.com

Reply via email to