Nice piece of work. And I learned a thing or two, too. On question: wouldn't the query below just check to see if the password had been used three times site-wide? Wouldn't you want to also check that it wasn't used by the user in question? I know it wasn't stated in the list, but I'm inferring that would be a requirement. This also assumes that the user management functionality includes a vehicle for forcing changing your password every x number of days, and also validates that the current password works for that particular username. There has to be a correlation.
And a theoretical question... do people generally store their user's previous passwords in a list? Michael At 11:22 AM 2/8/2007, you wrote: >This can't be done on the client-side, of course, because you're >checking the password history. > >How about this: > ><cffunction name="isValid" returntype="boolean" output="no"> > <cfargument name="fieldValue" type="string" /> > <cfset var local=structNew() /> > <cfset local.isValid=0 /> > > <cfquery name="chkPwrdHist" datasource="myDSN"> > SELECT TOP 3 * > FROM [pwrdTbl] > WHERE [pwrd]=<cfqueryparam >value="#arguments.fieldValue#" /> > ORDER BY [setDate] DESC > </cfquery> > <cfif chkPwrdHist.recordCount eq 3><cfreturn false /></cfif> > > <cfif len(arguments.fieldValue) lt 8 or >len(arguments.fieldValue) gt 127><cfreturn false /></cfif> > > <cfif REFind("[A-Z]+",arguments.fieldValue)><cfset >local.isValid=local.isValid+1 /></cfif> > <cfif REFind("[a-z]+",arguments.fieldValue)><cfset >local.isValid=local.isValid+1 /></cfif> > <cfif REFind("[0-9]+",arguments.fieldValue)><cfset >local.isValid=local.isValid+1 /></cfif> > <cfif REFind("[\W_]+",arguments.fieldValue)><cfset >local.isValid=local.isValid+1 /></cfif> > <cfif local.isValid lt 3><cfreturn false /></cfif> > <cfreturn true /> ></cffunction> -------- Michael Muller Admin, MontagueMA.net Website work (413) 863-0030 cell (413) 320-5336 skype: michaelBmuller http://www.MontagueMA.net Eschew Obfuscation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Upgrade to Adobe ColdFusion MX7 Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs http:http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:269198 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4