已知第三方网站的用户名和密码,可以通过 html+js 实现自动登录吗?

2019-08-09 16:57:53 +08:00
 libasten
已有一个成熟的 xx 管理系统。
每次使用要打开浏览器输入这个系统的登录界面 url,http://xxx/login,然后输入用户名密码,点击“登录”然后进入系统主界面。
需求是这样,在一个网页上挂一个超链接,指向上述系统的登录页面,这样点击这个超链接,跳转到这个 xx 管理的同时,附带已知的用户名和密码,跳过输入用户名密码的界面,自动进入系统主界面。
也就是说要想要通过超链接,跳过输入用户名密码的过程,直接进系统。
这些能通过 html+js 的方式实现吗?
-----
此前在其他网站咨询,有网友让试试基于 nodejs 的 puppeteer,我刚才跑了一下,因为我不懂前端开发,这个是不是要求机器上必须装 node 环境和 chrome ?
能否像 html+js 那样运行在任何一台有浏览器的电脑上?
7551 次点击
所在节点    程序员
22 条回复
EridanusSora
2019-08-09 17:14:22 +08:00
electron
moxiaonai
2019-08-09 17:19:34 +08:00
油猴脚本?
wdv2ly
2019-08-09 17:28:43 +08:00
可以
lauix
2019-08-09 17:34:00 +08:00
油猴脚本
duan602728596
2019-08-09 17:35:52 +08:00
应该做的是系统登录后,接口返回的 cookie 里面带一个 token,进入这个系统时,先判断 cookie 内是否有 token,如果没有,就跳回登陆页。
或者,跳转到一个中间链接,后端进行登陆,如果登陆成功,再次跳转到该管理系统。

but,附带已知的用户名和密码是怎么一回事?
AlphaTr
2019-08-09 17:39:04 +08:00
纯前端的话,如果对方 csrf 没防,自己写个页面提交就行;否则就得如楼上说的,油猴一类的插件解决;话说,为什么会有这样的不安全做法的需求,用户名密码自动填充不行吗
arrow8899
2019-08-09 17:41:56 +08:00
如果是同一个域名的话是可以的,如果域名不同肯定不行,浏览器禁止了跨域操作,可以用 nginx 做反代,在 nginx 内用 lua 脚本实现登录操作( openresty )。
rockjike
2019-08-09 17:45:39 +08:00
浏览器存 token, 判断 token 是否有效, 有效直接跳主页, 无效在登录
iddddg
2019-08-09 18:17:44 +08:00
来个第三方网站登陆地址看看?
SmiteChow
2019-08-09 19:11:03 +08:00
puppeteer-recorder
beastk
2019-08-09 19:21:40 +08:00
form 表单自动提交不行吗
vtwoextb
2019-08-09 19:25:07 +08:00
第一次登录保存 cookie,脚本带着 cookie 登录
orzorzorzorz
2019-08-09 19:31:52 +08:00
iframe 传值完事
scofieldpeng
2019-08-10 10:42:20 +08:00
其实如果是你偷懒的话,完全可以用密码管理工具来解决啊,比如大家用的 1password 这些
libasten
2019-08-10 10:50:39 +08:00
@duan602728596 “附带”两个字可能不准确,我想要表达的意思就是将手边已知的用户名密码用上。
我也是设想着做一个后端登录模块,然后成功了,跳转到该系统。但是没有思路,我一直是写后端增删改查的,稍微懂点前端内容,能给点详细的指导吗?


@AlphaTr 确实不安全,但是是内网的办公系统之间的跳转,与互联网物理隔离了,我们领导就不想输入用户名密码,觉得烦,让我们想办法搞个“小工具”,减去输入的动作,您说的“自动填充”,能展开具体说说吗?


@beastk 能否展开说说 form 自动提交怎么做?跨域能搞定吗?

一并感谢大家。
duan602728596
2019-08-10 11:20:19 +08:00
@libasten 你的系统是前后端分离的么?用户凭据是存在 cookie 里的么?
Cheez
2019-08-10 17:43:04 +08:00
没看懂你想干什么

你能修改登录页面的话就在里面改 js,接受数据

不能的话就修改浏览器,用油猴脚本

不能的话就快捷键 AHK

不能的话就洗洗睡吧
jinliming2
2019-08-10 22:18:54 +08:00
@orzorzorzorz 但如果对方设置了 X-Frame-Options: deny 或者 X-Frame-Options: sameorigin,就不能用 iframe 了
tuboshuv1
2019-11-25 15:44:47 +08:00
@libasten 大兄弟,你之前的这个问题解决了吗
libasten
2019-11-25 16:01:14 +08:00
@tuboshuv1 后来没有按照这个思路走,直接在 url 里面明文传参进入系统了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/590523

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX