embrr
embrr copied to clipboard
代理认证方式失效
最新版本,使用代理方式认证,输入用户名和密码提交之后,authorize.php 是一片空白 经过初步检查 在processCurl函数里,$response的内容是「you are redirected」并且$responseInfo的httpcode是302,因此返回了false 估计是因为推特又改了什么(itap一样出现这个问题),我看了一下文档,怀疑是不是和 https://dev.twitter.com/web/sign-in/implementing 里面的step2 有关
我靠 sb twitter天天改页面 没完没了了
From: laoyang945 [mailto:[email protected]] Sent: Tuesday, April 14, 2015 18:12 To: AstroProfundis/embrr Subject: [embrr] 代理认证方式失效 (#70)
最新版本,使用代理方式认证,输入用户名和密码提交之后,authorize.php 是一片空白 经过初步检查 在processCurl函数里,$response的内容是「you are redirected」并且$responseInfo的httpcode是302,因此返回了false 估计是因为推特又改了什么(itap一样出现这个问题),我看了一下文档,怀疑是不是和 https://dev.twitter.com/web/sign-in/implementing 里面的step2 有关
— Reply to this email directly or view it on GitHub https://github.com/AstroProfundis/embrr/issues/70 . https://github.com/notifications/beacon/ABXnJwbavbR9K9NDrY81-tA4801t4nfwks5n_N-FgaJpZM4EAHL9.gif
不止...添加用户到list的功能也坏掉了...妈蛋...
基本能确认是这里的问题(authorize.php),以及蛋疼的地方在于 You are being redirected 指向的那个地址会 404...
似乎是因为 twitter 检查了 header, 那个 post 请求本身看起来没啥问题,有点无力了,先睡...
(´・ω・`) 所以。。。有任何关于这个issue的更新吗……?
所以 你来fix怎么样
Sent from my Windows Phone
From: Chen Shaojumailto:[email protected] Sent: 4/21/2015 16:53 To: AstroProfundis/embrrmailto:[email protected] Cc: Shadowglen Elfmailto:[email protected] Subject: Re: [embrr] 代理认证方式失效 (#70)
(´・ω・`) 所以。。。有任何关于这个issue的更新吗……?
Reply to this email directly or view it on GitHub: https://github.com/AstroProfundis/embrr/issues/70#issuecomment-94708344
有任何进展么?谢谢两位
大神求更新~~~
等了一两个月了吧,都没人修改么?
修不动
至少涉及到两处修改,一个是 lib/twitese.php
里面164行处加上302跳转否则结果会被吃掉
if( intval( $responseInfo['http_code'] ) == 200 ||
intval( $responseInfo['http_code'] ) == 302 ) // twitter redirects oauth...
这个地方的302会指向一个形如 https://api.twitter.com/login/error?username_or_email=someuserid&redirect_after_login=https%3A%2F%2Fapi.twitter.com%2Foauth%2Fauthorize%3Foauth_token%3DL8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg 的链接,其后面 redirect_after_login
参数里面的那个地址 似乎 是可以用来验证的正确地址(提取出来 & 反转意掉)
懒得写正则,谁有空往 authorize.php
里面搞上这段逻辑吧......
提一下最近的一点尝试。
-
前面说的跟踪 302 的方法没用,还是会跳转回登录页面
-
基本可以确定是 twitter 对来源做了检查和校验,相同的请求从浏览器直接发起就可以,从服务器端就 302, 尝试过伪造 cookie 无效,如果修改 header 中的 Host 等字段均会返回 400
-
尝试了 Google 靠前的多个 PHP 代理脚本均无效,twip 的代理登陆方式也没有测试成功
结论:目前无解