我不熟悉Web开发,正在尝试构建一个小的网页,该网页将尝试检测当前是否有人在该浏览器上登录了Instagram。如果我在Chrome的控制台中逐个命令运行代码,然后手动复制并粘贴HTML,那么它可以完美运行。但是,当我尝试单独运行代码时,它似乎就像在隐身模式下一样运行。
一个人如何解决这个问题?如果用户需要授予我的页面访问Instagram的权限,我该怎么办?
这是我的代码的JS部分:
const USERNAME_REGEX = /"viewer"\:{.*"full_name"\:"([^"]+)"/gm;
const FULLNAME = 'full_name\":\"';
document.addEventListener('DOMContentLoaded', () => {
const request = new XMLHttpRequest();
request.open('GET', 'https://instagram.com');
request.send();
request.onload = () => {
const data = request.responseText;
var u = data.match(USERNAME_REGEX);
if (u != null) {
u = u[0];
u = u.substring(u.indexOf(FULLNAME) + FULLNAME.length).slice(0, -1);
document.querySelector('#info').innerHTML = u;
}
else {
document.querySelector('#info').innerHTML = 'no one is logged in!';
}
}
});
谢谢:)祝你有美好的一天!
我是Web开发的新手,正在尝试建立一个小的网页,以尝试检测当前是否有人在该浏览器上登录了Instagram。
这听起来像是一场安全和隐私梦night,幸运的是,每个人(包括您在内)都不可能实现。 (或者至少不应该...)
如果我在Chrome的控制台中逐个命令运行代码,然后手动复制并粘贴HTML,则效果很好。
完全不同的上下文。实际上,您会发现,如果在非Instagram.com上的控制台中运行此代码,它将无法正常工作。
Same-origin policy将阻止您访问另一个域。您要尝试的是经典的跨域攻击,此攻击将无法正常工作。 CORS可以解决这个问题,但Instagram当然不会允许您访问。
一个人如何解决这个问题?
您不。