问题:这几天配置qq互联,总是提示“域名不匹配,这个请求可能是CSRF攻击.”
。我一直在想同一个域名下怎么会域名不匹配呢!!!
,很郁闷,然后就各种查找问题。
1.打日志追查
失败日志成功日志
偶尔有几次成功,但是大多数失败!!!分析日志,跳转前和回调时
session
变了,回调时无法获取跳转前保存的session
。追查session文件,发现前后都生成了一份文件,说明
SESSION_ID
前后发生了变化!!!
2.分析请求
请求地址回调
对比发现前后
PHPSESSID
确实变了,郁闷,怎么会变呢?想不通!!!前后尝试几次发现都是这样,找不同的地方,发现请求时地址没有带
www
,返回时带www
。然后尝试普通地址,发现PHPSESSID
同样发生变化!再尝试带www
请求qq互联,成功!
3..htaccess强制将不带www.前缀的跳转到带www前缀的
1.把不带www的域名转向到带www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
2.全部统一到不带www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
网友评论