That's a very elegant solution. Thank you Anthony.
On Friday, July 25, 2014 8:01:53 PM UTC+2, Anthony wrote: > > I still don't see the behavior for login, but for registration, you can > try: > > db.auth_user.password.widget = lambda k,v: SQLFORM.widgets.password.widget > (k, > None, _id="login_password", _class="input-basic input-200") > > Anthony > > On Friday, July 25, 2014 10:35:18 AM UTC-4, Louis Amon wrote: >> >> After much research I found the trigger to replicate the issue : >> >> db.auth_user.password.widget = lambda k,v: SQLFORM.widgets.password. >> widget(k, v, _id="login_password", _class="input-basic input-200") >> >> >> If you type a password longer than 8 characters and the validation fails, >> your password will be replaced with '********' in request.vars.password. >> >> >> On Friday, July 25, 2014 4:12:06 PM UTC+2, Anthony wrote: >>> >>> I still cannot replicate the behavior you observe. Can you show your >>> code or attach a minimal app that demonstrates the behavior? >>> >>> Anthony >>> >>> On Friday, July 25, 2014 9:56:38 AM UTC-4, Louis Amon wrote: >>>> >>>> @Anthony: Indeed, I forgot to add that I’m using auth forms through >>>> ajax via LOAD. The problem may be due to ajax's JSON conversion of >>>> request.vars. >>>> >>>> Le 25 juil. 2014 à 15:52, Anthony <[email protected]> a écrit : >>>> >>>> I think common practice is to leave password fields blank after a login >>>> failure so the password must be re-entered. >>>> >>>> In any case, I cannot replicate either behavior you describe using the >>>> standard web2p Auth forms. When I have a failed login, the entire login >>>> form is reloaded emtpy. When I enter the second password incorrectly on a >>>> register form, the form reloads, and I only have to correct the second >>>> password, not re-enter the first. >>>> >>>> Can you show the code you are using for your forms? >>>> >>>> Anthony >>>> >>>> On Friday, July 25, 2014 9:32:03 AM UTC-4, Louis Amon wrote: >>>>> >>>>> We’re all developers here so I couldn’t agree more. >>>>> >>>>> Still, I’m running a commercial website so I’m a slave to what my >>>>> users want. >>>>> As far as my customers are concerned, security comes second after ease >>>>> of use… >>>>> >>>>> Anyway, you have to admit that the examples I gave in the first post >>>>> are misleading in terms of user experience, right ? >>>>> >>>>> Isn’t there a way to improve it without compromising security too much >>>>> ? >>>>> I can see one : erasing input fields after each validation failure >>>>> (blank fields are less misleading). Do you see other ? >>>>> >>>>> >>>>> Le 25 juil. 2014 à 15:19, Willoughby <[email protected]> a écrit : >>>>> >>>>> A simple google search will yield people complaining about their host >>>>> accounts getting hacked on airbnb. >>>>> Just because someone or something large 'does it that way' doesn't >>>>> mean it's a best practice! >>>>> >>>>> On Friday, July 25, 2014 9:08:00 AM UTC-4, Louis Amon wrote: >>>>>> >>>>>> I don’t see much of a security threat here. >>>>>> What’s the worst-case scenario ? >>>>>> >>>>>> If you take a look at airbnb.com <http://www.airbnb.com/>, their >>>>>> registration form keeps your typed password even if you fail validation >>>>>> on >>>>>> other fields. >>>>>> >>>>>> If a website that big can do it then surely my small website will >>>>>> pull though, don’t you think ? >>>>>> >>>>>> Le 25 juil. 2014 à 14:47, Niphlod <[email protected]> a écrit : >>>>>> >>>>>> so you really want the webpage to return the actual password instead >>>>>> of asterisks ? it's a big security risk, no matter what user experience >>>>>> says..... >>>>>> >>>>>> On Friday, July 25, 2014 10:53:40 AM UTC+2, Louis Amon wrote: >>>>>>> >>>>>>> I'm trying to improve user exprerience on my website and I noticed a >>>>>>> rather annoying behavior on password fields : >>>>>>> >>>>>>> If I type a password longer than 8 characters and somehow my form >>>>>>> fails (some other field didn't validate), my password gets replaced by >>>>>>> "********" in request.vars.password. >>>>>>> >>>>>>> For example : >>>>>>> I try to login and misstype my username --> login form fails. >>>>>>> I correct the mistake in the username and press the submit button >>>>>>> again --> login still fails, because the password got replaced by >>>>>>> '*********' under the hood. >>>>>>> >>>>>>> Another example: >>>>>>> I try to register and type my password but mistyped my password >>>>>>> verification (password_two) --> register form fails. >>>>>>> I focus the password_two field and retype my password --> register >>>>>>> still fails because the original password field got replaced... >>>>>>> >>>>>>> This behavior is extremely frustrating for users as they can't print >>>>>>> request.vars.password like a developper would. All they see is >>>>>>> obfuscated >>>>>>> passwords. >>>>>>> I cannot have this on my commercial website. >>>>>>> >>>>>>> >>>>>>> Is there any way to fix this ? >>>>>>> >>>>>> >>>>>> -- >>>>>> Resources: >>>>>> - http://web2py.com >>>>>> - http://web2py.com/book (Documentation) >>>>>> - http://github.com/web2py/web2py (Source code) >>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>> --- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "web2py-users" group. >>>>>> To unsubscribe from this topic, visit >>>>>> https://groups.google.com/d/topic/web2py/T1vfDXDgsmE/unsubscribe. >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> Resources: >>>>> - http://web2py.com >>>>> - http://web2py.com/book (Documentation) >>>>> - http://github.com/web2py/web2py (Source code) >>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "web2py-users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/web2py/T1vfDXDgsmE/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> >>>>> >>>> -- >>>> Resources: >>>> - http://web2py.com >>>> - http://web2py.com/book (Documentation) >>>> - http://github.com/web2py/web2py (Source code) >>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "web2py-users" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/web2py/T1vfDXDgsmE/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

