19th Aug, 2009

IE7 Bug导致Rails Session保存失败

同一套代码,部署在同一台服务器上,但是很诡异的是一套工作,另外一套登录的时候总是出现 ActionController::InvalidAuthenticityToken 的异常,即使加上skip_before_filter :verify_authenticity_token,虽然没有异常了,但是仍然无法登陆,追踪进去发现是Rails的Session保存失败,Google了一下“IE rails session can’t be save”,找到这篇帖子,似乎只是IE7独有的一个Bug,当你的子域名包含下划线时,IE7会拒绝接受Session Cookie,从而导致Rails的Session保存失败,而我的两个应用唯一的区别恰恰就在一个应用的域名包含有下划线。

这个问题困扰了我一下午,希望这个帖子可以给遇到同样问题的人节省一点时间。

评论

昨天才搞了个子域名,regex有 -_ ,呵呵

呵呵,以后要小心

这不算IE的BUG,因为下划线不符合规范文档RFC 2965中定义的主机名规则,正确的主机名只允许字母数字以及-符号(且只能以字母开头)组合。

可以参考:
http://support.microsoft.com/kb/275033/zh-cn
http://www.faqs.org/rfcs/rfc2965.html

留条评论?

Your response:

Categories