我现在运行一个coldfusion应用程序,登录后向数据库发送查询,查找与表单中输入的用户名和密码相同的行。
目前,它完全不区分大小写。但是,我想在密码字段中添加区分大小写的功能,以便用户必须拥有准确的密码。有没有办法在coldfusion中做一个区分大小写的IF语句?
我现在运行一个coldfusion应用程序,登录后向数据库发送查询,查找与表单中输入的用户名和密码相同的行。
目前,它完全不区分大小写。但是,我想在密码字段中添加区分大小写的功能,以便用户必须拥有准确的密码。有没有办法在coldfusion中做一个区分大小写的IF语句?
您可以 hash() 两个值并比较哈希值。
<cfif Hash( DBPassword ) EQ Hash( SubmittedPassword )>
<!--- Login Code --->
</cfif>
此外,您不应该将密码作为纯文本存储在数据库中。
如此处所述: http ://www.irt.org/script/3018.htm
似乎你可以使用:
<cfif Compare(string1,string2) eq "0">...</cfif>
另外一个选项:
如果您的数据库支持区分大小写,请将您的表设置为使用区分大小写的排序规则 - 然后您的用户查找查询将对存储和提供的用户名/密码进行区分大小写的比较。然后,您不必使用 CF 进行任何查询后字符串比较(运行少 1 个进程 = 好 :)
+1 对 Leigh 关于以纯文本形式存储密码的警告。