tysontxli / QIANGGUO

QG-Database
125 stars 38 forks source link

关于模拟登录的建议 #17

Open SeraphUnion opened 5 years ago

SeraphUnion commented 5 years ago

兄弟,提个建议,能不能这么做: 1、在钉钉中自建一个小范围的群,应用钉钉的”自定义机器人“。 2、获取到机器人对应的Webhook地址,格式如下 https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx,即为Post接口。 3、采用机器人的”独立跳转ActionCard类型“格式,构造登录链接,每天早上定时发送给这个群。 类似于: {    "actionCard": {        "title": "今天需要学习吗",         "text": "点击后后台自动学习",         "hideAvatar": "0",         "btnOrientation": "0",         "btns": [            {                "title": "需要",                 "actionURL": "https://www.dingtalk.com/自构造登录链接"            },             {                "title": "不需要",                 "actionURL": "https://www.dingtalk.com/"            }        ]    },     "msgtype": "actionCard"} 4、在学习网站二维码登录页面爬取二维码对应的字段,base64逆向解出链接,提取code、appid、redirect_uri等信息,作为”自构造登录链接“,让机器人发送。

y0fx commented 5 years ago

这个有点强~

tysontxli commented 5 years ago

好强呀,努力向您说的这个方法学习

SeraphUnion commented 5 years ago

好强呀,努力向您说的这个方法学习

想到之后,我测试了下这个方法,是可行的。已经成功将二维码推送到钉钉群里面。但是,多余的步骤就是,还是需要下载这张二维码图片,然后保存,再用学习APP登录。这个方法是每天不会忘掉要打卡。 后来我看了下钉钉开发文档,(

发现里面的参数scope=,是可以从snsapi_login可以调整到snsapi_auth的。调整到snsapi_auth可以直接在钉钉APP的应用窗口里面完成了认证授权。但是,问题是我没办法将授权反推到python上去了。这块如果有办法解决,就可以实现一键免登了。期待高手。

zhangqxgz commented 5 years ago

大兄弟方不方便把自动化测试框架那部分内容发一下?

tysontxli commented 5 years ago

好强呀,努力向您说的这个方法学习

想到之后,我测试了下这个方法,是可行的。已经成功将二维码推送到钉钉群里面。但是,多余的步骤就是,还是需要下载这张二维码图片,然后保存,再用学习APP登录。这个方法是每天不会忘掉要打卡。 后来我看了下钉钉开发文档,(https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.77e34a97lhNhCv&treeId=257&articleId=105735&docType=1,https://open-doc.dingtalk.com/docs/doc.htm?treeId=168&articleId=104882&docType=1)发现里面的参数scope=,是可以从snsapi_login可以调整到snsapi_auth的。调整到snsapi_auth可以直接在钉钉APP的应用窗口里面完成了认证授权。但是,问题是我没办法将授权反推到python上去了。这块如果有办法解决,就可以实现一键免登了。期待高手。

您的这个方案,貌似还是需要每天手动登陆,用钉钉自己去创建小组太危险了,很容易就挂了,更别说出了个一键免登.. 用公众号也容易挂,但是如果用邮箱发送二维码很容易因网络传输发送很容易出现二维码过期的情况,所以这一点不知道怎么做比较好

SeraphUnion commented 5 years ago

好强呀,努力向您说的这个方法学习

想到之后,我测试了下这个方法,是可行的。已经成功将二维码推送到钉钉群里面。但是,多余的步骤就是,还是需要下载这张二维码图片,然后保存,再用学习APP登录。这个方法是每天不会忘掉要打卡。 后来我看了下钉钉开发文档,(https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.77e34a97lhNhCv&treeId=257&articleId=105735&docType=1,https://open-doc.dingtalk.com/docs/doc.htm?treeId=168&articleId=104882&docType=1)发现里面的参数scope=,是可以从snsapi_login可以调整到snsapi_auth的。调整到snsapi_auth可以直接在钉钉APP的应用窗口里面完成了认证授权。但是,问题是我没办法将授权反推到python上去了。这块如果有办法解决,就可以实现一键免登了。期待高手

您的这个方案,貌似还是需要每天手动登陆,用钉钉自己去创建小组太危险了,很容易就挂了,更别说出了个一键免登.. 用公众号也容易挂,但是如果用邮箱发送二维码很容易因网络传输发送很容易出现二维码过期的情况,所以这一点不知道怎么做比较好

想着挂的话,除了按键精灵,都会挂。因为在扫码的同时,xuexi后台会获取钉钉账号等信息。这些信息会直接回溯出真实身份。用机器人的好处是,机器人太多了,而且到服务器的只是json链接,就像在大型超市里面找一个人,回溯不易。易用性和安全性相对平衡。

SeraphUnion commented 5 years ago

刚才想到了一个方法,不知道能不能实现。发在这里: 做一个djingo的网页A,内嵌生成xuexi网站的那个二维码网址。由机器人定时发送给特定群网页A的网址。使用者在钉钉群里面点击这个网页A的网址打开。打开的同时,会生成TMPCODE,该code由Djingo网页内嵌的js代码提取到。然后自构成特定链接,由python提交网站。

tysontxli commented 5 years ago

目前,我的实现方式是保存二维码,然后上传二维码到指定服务器(找一个可以上传的服务器就好了,不用非要是自己的),然后将链接通过钉钉机器人的方式发送到群中,不知道您所谓的很容易就挂了是什么意思?i already finish this step

这个app就是钉钉的开发团队 阿里Y项目组 开发的,所以 比较危险