百度的密码中不能包含'['和']', 为什么?

2011-12-31 20:58:44 +08:00
 013231
今天在为百度账号设置密码发现密码中不能包含字符'['和']', 否则会出现一个莫名其妙的错误"密码应由6至14个字符组成". 用其它符号测试了一下, (){},.什么的都是可以的, '['和']'有什么特殊之处吗?
4078 次点击
所在节点    问与答
9 条回复
args
2011-12-31 21:02:34 +08:00
有可能使用正则表达式……
9hills
2011-12-31 21:32:26 +08:00
还对密码长度设限,Baidu弱爆了
lenmore
2011-12-31 22:02:12 +08:00
京东的密码就更变态了,只能字母数字和“- ”,不包括引号。
XDash
2011-12-31 22:04:02 +08:00
防注入。。XD
9hills
2011-12-31 22:18:32 +08:00
@XDash @lenmore 一般密码都要加密,最不济也要hash,还注入个P啊

京东那个估计是明文存密码,只有明文存,才会对密码长度、特殊字符设限制
cyberscorpio
2011-12-31 22:35:31 +08:00
@9hills 真的吗?我很害怕!!
GordianZ
2012-01-01 02:00:44 +08:00
因为是明文保存密码。所有对特殊字符做限制的基本上都是,因为如果你要用hash保存密码的话,管你密码是中文还是鸟语还是特别符号呢,什么防止注入都是借口,这年头谁还拼接SQL =_=
vibbow
2012-01-01 07:18:48 +08:00
我觉得只要限制密码长度不超过2048位就是合理的
要不然每个人都提交个1M多大小的密码上去,他们不得疯了..

至于不让特殊符号,说是防注入之类的,一般就是要明文存密码了。
yyfearth
2012-01-01 09:25:28 +08:00
@9hills @vibbow 现在密码限制很多是不到30的,也不一定是因为保存明码。
不让输入特殊符号可能是历史原因,因为以前是保存明码做出了限制,后面增加了安全性用了hash,但是前段的JS是另外一组人写的,所以也就一般不会改,除非平台全面升级。
另外一种原因可能是因为JS处理的问题,js处理有时候不允许出现特殊字符,然后开发又懒得去转换,干脆就做成限制。
如果在js端做一次hash,就算提交10M的密码都没关系。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/24763

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX