"新浪手机登录流程2016年8月测试可用" 新浪手机登录流程是用户访问微博服务的重要步骤,适用于使用移动设备访问新浪微薄的用户。在2016年8月时,这个流程已被验证是有效的。以下是详细的登录步骤及其中涉及的技术细节: 1. **登录界面**: 用户需要访问的登录页面链接是:`https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=http%3A%2F%2Fm.weibo.cn%2F%3Fjumpfrom%3Dwapv4%26tip%3D1`。这个URL是新浪专门为手机版微博设计的登录入口。 2. **输入用户名和验证码**: - **用户名**:用户需在登录框内输入自己的新浪账号,可以是手机号、邮箱地址或者已注册的微博用户名。 - **验证码**:为了增加安全性,系统会要求用户进行身份验证,通常通过发送短信验证码或图形验证码的形式。在2016年的流程中,这部分涉及到了一个名为`prelogin.php`的预登录接口,用于检查用户名的正确性并获取验证码。 3. **预登录接口**: 预登录接口的URL是`https://login.sina.com.cn/sso/prelogin.php?checkpin=1&entry=mweibo&su=MTc4OTcxMTk4NTI=&callback=jsonpcallback1468894176770`,其中`su`参数是经过Base64编码的用户名(使用`utf8_to_b64()`函数)。 - **用户名编码**:用户名首先经过`trim()`函数去除前后空格,然后通过`win.btoa()`进行Base64编码,编码函数由`win.encodeURIComponent(trim(str))`提供。 - **回调函数**:接口响应数据通过JSONP(JSON with Padding)的方式返回,这里的回调函数名`jsonpcallback1468894176770`是动态生成的,其生成方式是结合当前时间戳和随机数。 4. **接口返回值**: 接口返回的数据包含以下几个关键信息: - `retcode`:返回码,0表示成功。 - `servertime`:服务器时间,用于防止重放攻击。 - `pcid`:可能与用户会话或安全相关的标识。 - `nonce`:随机字符串,用于防止重放攻击。 - `pubkey`:公开密钥,可能用于后续的RSA加密操作,以增强安全性。 5. **验证码接收**: 用户接收到验证码后,需要在登录界面输入,系统会将输入的验证码与服务器端的记录进行比对,验证成功后允许登录。 6. **登录过程**: 输入正确的用户名、密码和验证码后,用户数据会被发送到服务器进行验证。如果验证通过,用户将被重定向到个人微博主页,否则会提示错误信息并要求重新输入。 请注意,上述流程可能会随着时间和安全策略的更新而有所改变,但基本的步骤和安全机制仍然相似。对于用户来说,理解登录流程有助于更好地保护账户安全,例如注意不要在公共场所使用自动保存的登录信息,避免点击不明链接等。对于开发者来说,理解这个过程可以帮助他们构建更安全、用户体验更好的登录系统。
需要
登录界面:
https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=http%3A%2F%2Fm.weibo.cn%2F%3Fjumpfrom%3Dwapv4%26tip%3D1
该部分可不用:
输入用户名,之后检验,并接收验证码:
检验:
url: https://login.sina.com.cn/sso/prelogin.php?checkpin=1&entry=mweibo&su=MTc4OTcxMTk4NTI=&callback=jsonpcallback1468894176770
su来源: utf8_to_b64(username)
username = trim(that.loginName.value)
function utf8_to_b64(str){
return win.btoa(win.encodeURIComponent(trim(str)));
}
callback来源:
var jsonpCallback = _siteId('jsonpcallback');
function _siteId(prefix){
var id = (new Date()).getTime() + Math.floor(Math.random() * 100000);
return prefix ? prefix + '' + id : id;
}
return: jsonpcallback1468894176770({"retcode":0,"servertime":1468894145,"pcid":"gz-0b5df7ce516078c0cc8980a76d3a3d0cad69","nonce":"9U685D","pubkey":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrKjhWhmGIf6GAvdtcq9XyHHv9\nWcCQyy0kWoesJTBiiCcpKT5VBjUFCOf5qju3f0MzIxSQ+RX21jxV\/i8IpJs1P0RK\n05k8rMAtt4Sru45CqbG7\/\/s4vhjXjoeg5Bubj3OpKO4MzuH2c5iEuXd+T+noihu+\nSVknrEp5mzGB1kQkQwIDAQAB\n-----END PUBLIC KEY-----","rsakv":"1330428213","is_openlock":0,"lm":1,"smsurl":"https:\/\/login.sina.com.cn\/sso\/msglogin?entry=mweibo&mobile=17897119852&s=d4ed8676b68175668c75a8bc52a4a704","showpin":1,"exectime":21})
得到image数据
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 8
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全