问题:这几天配置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]












网友评论