【发布时间】:2019-03-22 10:02:14
【问题描述】:
这就是我的网站a.com 的工作方式,用户访问我的网站,我使用我的帐户与另一个网站b.com 中的人交谈,生成一个链接b.com/somelink 并将用户重定向到该链接。
问题出在这里,这个地址b.com/somelink 包含一些我想对访问者隐藏的私人信息……因为我无法控制那个网站,所以我无法控制。
所以我认为最好的选择是浏览器扩展,用户必须在重定向到 b.com 之前安装扩展。
这是我的简单扩展:
manifest.json
{
"name": "extname",
"version": "1.0",
"description": "extnameExtension!",
"manifest_version": 2,
"permissions": [
"tabs", "http://*/*", "https://*/*" , "webNavigation"
] ,
"content_scripts": [
{
"matches": ["*://b.com/*"],
"js": ["contentscript.js"],
"run_at": "document_start"
}
]
}
contentscript.js
function fireOnReady() {
document.getElementById('personal-info').innerHTML = 'some dummy data';
}
if (document.readyState === 'complete') {
fireOnReady();
} else {
document.addEventListener("DOMContentLoaded", fireOnReady);
}
工作正常,但我有 2 个问题:
1 - 用户可能会禁用扩展程序并刷新页面b.com/somelink 并查看我的个人信息....所以我的解决方案是关闭浏览器标签打开b.com 如果他们删除我的扩展程序...有什么办法去做这个? (此链接仅在他们从我的网站重定向到 b.com 时才可用,因此他们不能只是将链接复制/粘贴到新标签/浏览器中)
2 - 在我自己的网站中,我如何确保他们在将他们重定向到 b.com 之前安装了我的扩展程序?
**请不要谈论我解释的场景或其他解决方案,或者......我知道这可能听起来很奇怪,但这不是针对公共用户而是针对私人特殊群体,如果他们必须安装扩展程序,我有兴趣知道如何使用代码和扩展来做到这一点,即使我找到了另一个解决方案**
【问题讨论】:
-
我完全被这个解释弄糊涂了。我能想到的最简单的解决方案 - 如果您想隐藏 b.com/somelink 的内容,请关闭该服务器,或删除您那里的所有私人信息。如果任何外部计算机程序无需某种身份验证即可访问它,则所有程序都可以看到它。即使您可以改写您的问题,浏览器扩展程序听起来也是一个糟糕的解决方案,没有人会安装它。
-
@Katana314thanx 回答,我不想花太多时间谈论代码/扩展以外的东西,但要指出您的一些担忧 1 - 有一个身份验证步骤......它完成了通过我的网站,我生成一个过期链接,然后将用户重定向到该链接 (
b.com/somelink) 你不能不通过我的网站就打开这个链接 2 - 我在私人/特殊领域提供有价值的服务......它不是对于公共用户,是的,他们会安装它 -
在大多数浏览器中按F12后,隐私信息仍会在网络跟踪中可见!!
标签: javascript google-chrome google-chrome-extension google-chrome-app