- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请注意,我不是 Chrome 扩展专家。但是,我正在寻找一些建议或高级解决方案来解决我的 chrome 扩展程序存在的安全问题。我搜索了很多,但似乎找不到具体的答案。
我有一个 chrome 扩展,需要让用户登录到我们的后端服务器。
但是,出于设计原因,决定不希望使用默认的 chrome 弹出气球。因此,我使用模态对话框和 jquery 来制作注入(inject)了内容脚本的样式化弹出窗口。
因此,弹出窗口被注入(inject)到您正在访问的页面的 DOM 中。
一切正常,但是现在我需要实现登录功能,我注意到一个漏洞:
如果我们注入(inject)弹出窗口的网站知道密码字段 ID,他们可以运行脚本来持续监控密码和用户名字段并存储该数据。叫我偏执,但我认为这是一种风险。事实上,我编写了一个模拟攻击站点,可以在输入给定字段时正确提取用户和密码。
我查看了其他一些 chrome 扩展程序,例如 Buffer,并注意到他们所做的是从他们的网站加载弹出窗口,而是嵌入一个包含弹出窗口的 iFrame。弹出窗口将与 iframe 内的服务器交互。
我的理解是 iframe 与其他网站一样受同源脚本策略的约束,但我可能错了。
因此,做同样的事情会安全吗?
为简化起见,如果我通过 chrome 扩展程序将我们服务器的 https 登录表单嵌入到给定的 DOM 中,是否存在密码嗅探的安全问题?
如果这不是处理 chrome 扩展登录的最佳方式,您对什么是最好的有什么建议吗?也许有一种方法可以声明 javascript 无法与之交互的文本字段?不太确定!
非常感谢您的宝贵时间!我很乐意澄清任何需要的东西。
最佳答案
同源策略确实保护了主页上 iframe 的内容。
但是。用户无法知道页面中的 iframe 是否属于您的扩展程序。流氓页面可能会复制您的设计并冒充您的扩展程序,并最终窃取凭据。
让用户输入凭据的唯一安全方法是通过单独的窗口、弹出窗口或选项卡。
Chrome 提供了一个 API 来打开一个具有所需属性的窗口,它应该足够灵活以满足您的设计要求。请参阅此示例,该示例也是关于在弹出窗口中获取凭据:https://stackoverflow.com/a/10341102/938089
关于google-chrome-extension - 使用 iframe 的 chrome 扩展登录安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347884/
我正在尝试为我的用户提供使用 Google 或 Facebook 登录的选项。到目前为止,我找到了一个实现 Google 登录流程的示例,但如果我可以在同一 Activity 中实现类似的 Faceb
我有一个网页,它对用户是否登录很敏感。我使用的是 Google 登录 Javascript SDK。当用户到达此页面时,我想显示一个插页式广告(“正在加载...”),然后 1)如果用户已登录则呈现页面
我用 digitalocean 创建了一个 droplet,并使用 apt install mariadb-server 命令安装了 mariadb。现在我想使用 php 连接到我的服务器,我使用这个
这个问题在这里已经有了答案: Inno Setup - Signing fails with "Sign Tool failed with exit code 0x1" (2 个回答) 3年前关闭。
我正在尝试使用他们的新 API 实现 google 登录:https://developers.google.com/identity/sign-in/web/ 登录和注销工作正常。我的问题是我不知道
我的应用程序具有谷歌登录、Facebook 登录和 braintree 集成。 我已将以下代码放入 appdelegate.swift 中: func application(_ applicatio
我有一个 Flask 应用程序,最近在我的登录/退出表单中实现了 Flask-Login: @account.route('/sign-in', methods=['POST', 'GET']) de
friend 们,我是初学者级别的 ios swift 学习者。我一直在尝试在我的试用应用程序中进行谷歌登录。根据来自谷歌开发人员和其他教程的资源,我成功地使用 UIView 进行了登录。然后我试图在
我正在使用 Ionic 在 Codeigniter/Ion_Auth/codeigniter-restclient 之上构建登录系统,当我尝试从“ionic 服务器”登录时,登录可以正常工作,但对 L
在 Docker 文件中我有这个 FROM ubuntu RUN apt update && apt -y upgrade RUN apt install -y sudo # Setup ops us
对于 Java 开发,我使用 Slf4j 和 Logback。 Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.de
在 Scala 应用程序中进行日志记录的好方法是什么?与语言哲学一致的东西,不会使代码困惑,并且维护成本低且不引人注目。以下是基本要求列表: 简单 不会使代码困惑。 Scala 以其简洁而著称。我不希
我正在尝试将我的登录名转换为 Retrofit2 我的旧 LoginActivity: public class LoginActivity extends Activity { private st
我正在尝试让 google+ 登录在 android 上运行。我的问题是,每当我使用 eclipse 运行它时,google 开发站点上提供的示例都能完美运行。当我签署 apk 并在我的设备上手动安装
这个问题已经有答案了: JS Simple but Safe Login? [closed] (1 个回答) 已关闭 6 年前。 我正在尝试使用 JavaScript 创建登录页面。它实际上只是一个带
其他章节请看: react 高效高质量搭建后台系统 系列 登录 本篇将完成 登录模块 。效果和 spug 相同: 需求 如下:
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 1 年前。
我在使用 ReactJs 中的 facebook-login 组件时遇到问题,代码与文档中的完全一样,但仍然无法正常工作。你能帮我找出我做错了什么吗? import React, { Componen
我有一个项目,其中包含许多具有自己的日志记录的“工具”类。这些日志文件是在应用程序启动时创建的,但在使用之前一直为空。 是否可以告诉logback在启动时不应该创建空文件?但是仅在使用它们时? 不知何
我正在创建一个需要用户授权才能访问某些功能的网站。我目前正在研究用户如何创建帐户以及如何利用 session 来授权他们的登录。用户信息存储在名为 user 的 MySQL 表中,其中可能包括用户名和
我是一名优秀的程序员,十分优秀!