Php 密码强度模式
我应该使用像a-zA-Z0-9这样的密码模式,并且在密码中至少需要每个字符类中的一个,还是只允许密码中的任何内容Php 密码强度模式,php,passwords,design-patterns,Php,Passwords,Design Patterns,我应该使用像a-zA-Z0-9这样的密码模式,并且在密码中至少需要每个字符类中的一个,还是只允许密码中的任何内容 站点允许用户使用什么作为其密码?还有什么我需要考虑的吗? A-SZ-Z-9是非常有限的。您应该允许我使用任何字符,并强制执行最低要求(即至少8个字符、至少一个字母和一个数字)a-ZA-Z0-9过于有限。您应该允许我使用任何字符,并强制执行最低要求(即至少8个字符、至少一个字母和一个数字)用户应能使用的内容不应受到限制。因为在存储密码之前,您会对密码进行哈希运算(我希望),所以密码包含
站点允许用户使用什么作为其密码?还有什么我需要考虑的吗?
A-SZ-Z-9是非常有限的。您应该允许我使用任何字符,并强制执行最低要求(即至少8个字符、至少一个字母和一个数字)
a-ZA-Z0-9过于有限。您应该允许我使用任何字符,并强制执行最低要求(即至少8个字符、至少一个字母和一个数字)用户应能使用的内容不应受到限制。因为在存储密码之前,您会对密码进行哈希运算(我希望),所以密码包含的内容不会有任何区别如果您设置了需求,那么它们应该是最低需求。用户应该能够使用的内容应该没有限制。因为在存储密码之前,您会对密码进行哈希运算(我希望),所以密码包含的内容不会有任何区别
如果设置要求,则应为最低要求。最少8个字符,最好是12个字符
至少一个数字、至少一个小写、至少一个大写、至少一个符号(*/%…)至少8个字符,最好是12个字符
至少一个数字、至少一个小写、至少一个大写、至少一个符号(*/%…)密码正则表达式模式
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
崩溃
( # Start of group
(?=.*\d) # must contains one digit from 0-9
(?=.*[a-z]) # must contains one lowercase characters
(?=.*[A-Z]) # must contains one uppercase characters
(?=.*[@#$%]) # must contains one special symbols in the list "@#$%"
. # match anything with previous condition checking
{6,20} # length at least 6 characters and maximum of 20
) # End of group
相关的:
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
崩溃
( # Start of group
(?=.*\d) # must contains one digit from 0-9
(?=.*[a-z]) # must contains one lowercase characters
(?=.*[A-Z]) # must contains one uppercase characters
(?=.*[@#$%]) # must contains one special symbols in the list "@#$%"
. # match anything with previous condition checking
{6,20} # length at least 6 characters and maximum of 20
) # End of group
相关的:
别担心,误读了这个问题-密码是用来干什么的?你希望拥有什么样的用户?应设置密码要求,以便为使用密码的人员提供最佳服务。例如,我希望对网上银行网站的限制比论坛要高很多。我希望能够使用像
俎–#这样的密码@#∑åß∂代码>-不要将其标记为不安全,因为它没有a-zA-Z0-9
。用正则表达式行话说:'/^[a-zA-Z][a-zA-Z0-9.@$%^&*()]{10,25}$/'
您可以让用户创建一个密码,该密码以字母表中的字母开头,后跟一些可接受的字符,然后要求最少10个字符,最多25个字符。我想我会这么做:至少6个字符,1个大写字母,1个小写字母和1个数字。我想这些要求都可以。别担心,误读了这个问题-密码是用来干什么的?你希望拥有什么样的用户?应设置密码要求,以便为使用密码的人员提供最佳服务。例如,我希望对网上银行网站的限制比论坛要高很多。我希望能够使用像俎–#这样的密码@#∑åß∂代码>-不要将其标记为不安全,因为它没有a-zA-Z0-9
。用正则表达式行话说:'/^[a-zA-Z][a-zA-Z0-9.@$%^&*()]{10,25}$/'
您可以让用户创建一个密码,该密码以字母表中的字母开头,后跟一些可接受的字符,然后要求最少10个字符,最多25个字符。我想我会这样做:至少6个字符,1个大写字母,1个小写字母和1个数字。我认为这些要求可以。@Iarsmans我通常会包括标点符号要求,是的,但是如果他提议的a-zA-Z0-9对他的客户来说可能太严格了。@Iarsmans我通常会包括标点符号要求,是的,但是如果他提议的a-zA-Z0-9对他的客户来说可能太严格了。我认为这些不能被视为全球要求。不同的用例需要不同的最低要求。我不认为这些可以被视为全局要求。不同的用例要求不同的最低要求。请永远不要强制执行最大密码长度。请永远不要强制执行最大密码长度。