关于 ilidilid 这个 b 站镜像网站

2018-02-20 21:29:01 +08:00
 deepred

ilidilid这个 b 站镜像网站,是怎么做到在 b 站登录后,该网站也同步更新登录状态的?

很奇怪的是 ilidilid 域名下的 cookie 和 b 站的 cookie 基本是一模一样的,它是怎么获取到的?

看了下源码,b 站是有做防 iframe 的,所以 ilidilid 并不是简单的嵌套 iframe。

28834 次点击
所在节点    程序员
80 条回复
xavierskip
2018-02-20 23:49:16 +08:00
连视频都是镜像播放的。。。。
dtysky
2018-02-20 23:52:09 +08:00
内部人员私下维护的……
mizuhashi
2018-02-20 23:57:48 +08:00
用户信息都是用 jsonp 请求 data.bilibili.com 来的,ilidilid 那个应该只是个静态站点
nmdx
2018-02-20 23:59:37 +08:00
@xavierskip 视频不是镜像的啊。。。我用的手机。。难道 flash 加了 buff?
jin5354
2018-02-21 00:06:57 +08:00
dilidili 域下面根本就没 cookie 啊。。
随便看看,B 站前后端分离做的挺干净的,登录数据好像在 http://api.bilibili.com/x/web-interface/nav 接口,这个反代啊又没有反代接口,接口还是走 bilibili 域的,那之前的 cookie 直接用就行了呗,没啥操作
deepred
2018-02-21 01:33:16 +08:00
TANKING
2018-02-21 07:14:18 +08:00
这个应该很简单吧。用 php 的 file_get_content("http://www.bilibili.com");就可以获取页面了,不需要 iframe
jin5354
2018-02-21 08:11:01 +08:00
@deepred cookie 的 domain 属性是域
deepred
2018-02-21 09:27:42 +08:00
@jin5354 那个 domain 是 ilidilid 设置的吧,如果 ilidilid 网站下没有 cookie,登陆 ilidilid,chrome 控制台是看不到 cookie 的
jin5354
2018-02-21 10:06:16 +08:00
@deepred 你需要补一些基础知识。。
1. cookie 跨域设置有限,domain 为 b 站域的 cookie 肯定是之前 b 站所设置的,不会是 d 站设置的,你上 b 站对比下两者的 cookie 连过期时间都一样,就是同一份
2. chrome 控制台这里的展示只是一种组织形式,左边是 document,这个 document 下属的所有 nest frame 和 resource 用到的 cookie 都列出来了,cookie 的所属域只看 domain 属性就够了,见 https://developers.google.com/web/tools/chrome-devtools/manage-data/cookies

赶路回来上班,手机打字匆忙见谅
PythonAnswer
2018-02-21 10:10:22 +08:00
有意思啊有意思。
K1W1
2018-02-21 10:21:05 +08:00
如果域名变成 com.ilidilid.www 就更完美了
deepred
2018-02-21 10:25:43 +08:00
@jin5354 多谢
devotenimabi
2018-02-21 10:28:18 +08:00
@K1W1 不是 moc ?
K1W1
2018-02-21 10:30:05 +08:00
@devotenimabi #34 ,新年第一个 bug
Mondoz
2018-02-21 10:40:32 +08:00
真镜像站,遭不住
rrfeng
2018-02-21 11:01:46 +08:00
标题没有镜像...
bilibiliQQ
2018-02-21 11:09:29 +08:00
css:

transform: scaleX(-1);
x86
2018-02-21 12:10:12 +08:00
域名都是镜像的牛了
DOLLOR
2018-02-21 12:17:15 +08:00
这是单点登录的一种方式吧。
由于用户信息是异步跨域获取的,跨域请求带上的 COOKIE 是异域的 COOKIE,而非本域的 COOKIE,所以无需额外在本域再设置一个 COOKIE,而是直接共享异域的 COOKIE。
不过这个 JSONP 不知有没有做来源过滤的限制,如果没限制,那可能有被第三方盗取的风险。

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

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

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

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

© 2021 V2EX