django 和 facebook:代表用户执行第三方登录的 facebook web 应用程序的安全性和设计

2023-12-03

我正在编写一个 Facebook 画布 Web 应用程序,它执行对第三方网站的登录(使用 urllib)并代表用户执行操作。这意味着我有2个账户;用户在我的网络应用程序中拥有的帐户(通过 facebook)以及应用程序用来代表他们执行登录的帐户(使用用户提供的用户/密码详细信息)。

我显然不希望数据库中有明文密码。但我也不希望用户每次执行操作时都必须输入密码。我希望他们在注册时输入一次密码,并且我想对密码进行加密,但是我要加密什么? 服务器上的任何密钥都可供任何获得访问权限的人使用(即无用),因此我正在考虑根据 Facebook API 提供的值对其进行加密。

当用户登录(并向应用程序提供访问令牌)时,应用程序可以通过 API 请求该值,并用该值加密/解密其第 3 方密码。如果用户未登录应用程序,任何有权访问服务器的人都无法发出此请求。 (这仍然意味着窥探服务器的人可以获得登录用户的第 3 方密码,但任何一次性访问数据库的人都看不到密码。)这是一厢情愿吗?


您也可以使用服务器上的密钥对其进行加密。如果任何人获得对您服务器的访问权限,他们将拥有检索密钥所需的一切,即使您是从 Facebook 获取密钥的。

我认为您能做的最好的事情就是将密钥存储在您的网络服务器无法使用但您的脚本可用的位置。至少确保您没有将密钥存储在数据库中。

除此之外,无论你做什么,都只是默默无闻的安全。这里的关键是确保您的服务器安全,以便没有人可以访问它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 和 facebook:代表用户执行第三方登录的 facebook web 应用程序的安全性和设计 的相关文章

  • 打印一份拥有多个家庭的人员名单,每个家庭都有多个电话号码

    我有一类 Person 它可以有多个 Home 每个 Home 都有一个或多个电话号码 我已经定义了类 但现在我正在尝试创建一个视图 其中列出每个人的所有家庭以及每个家庭地址的所有电话号码 类似于 john smith 123 fake s
  • 使用 Django Rest Framework 自定义验证错误消息

    DRF 给出的默认验证错误消息是密钥和消息的列表 将此格式自定义为文本格式的最佳方法是什么 例如 这是默认格式 message phone customer with this phone already exists email cust
  • 在数据库中存储密码的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我在 Facebook 上发现的这个奇怪的脚本是什么?

    这并不是一个帮助我自己编程的问题 但我在 Facebook 上发现了这个页面 其中有一个很酷的幻觉 并且一个页面上写着 要看到真正的幻觉 请将此代码复制并粘贴到您的地址栏中 并且有一个脚本 免责声明 请勿运行以下代码 javascript
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • ShareKit + Facebook 身份验证不起作用

    我正在使用 ShareKit 从我正在开发的 PhoneGap 应用程序发布到 Facebook 我在 Facebook 中创建了该应用程序 并在我的项目中安装了该插件 Twitter 工作正常 但当我尝试在 Facebook 上分享时出现
  • Django 不会以奇怪的错误“AttributeError: 'module' object has no attribute 'getargspec'”启动

    我对 Django 的内部结构有点缺乏经验 所以我现在完全陷入困境 它昨天起作用了 但我不记得我改变过任何重要的东西 当我转身时DEBUG True任何恰好位于列表中第一个的模块上都有堆栈跟踪 Traceback most recent c
  • Django - 隐藏内联标签

    如何在 Django 内联中隐藏标签 当我理解正确时 您可以通过添加属性将 verbose name 设置为模型中的空字符串 verbose name 到你的领域就像 street models CharField max length 5
  • 我们什么时候应该在 Django 中使用“db_index=True”?

    当我们应该定义db index True在模型字段上 我正在尝试优化应用程序并且我想了解更多信息db index 什么情况下我们应该使用它 文档说使用db index True在模型字段上用于加速查找 但在存储和内存方面略有缺点 我们应该使
  • React 错误:目标容器不是 DOM 元素

    我刚刚开始使用 React 所以这可能是一个非常简单的错误 但我们开始吧 我的html代码非常简单 load staticfiles
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private
  • Django - 如何指定验证失败的字段?

    我在管理页面中显示了这个模型 class Dog models Model bark volume models DecimalField unladen speed models DecimalField def clean self i
  • 创建django权限,报错:ContentType匹配查询不存在

    我正在尝试添加两个组并授予他们对我的 Django 项目的权限 但我不断收到错误 ContentType 匹配查询不存在 我在跑步 姜戈 1 5 4 Python 2 7 3 南0 8 2 后SQL 9 3 这是我的代码 import dj
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • FB登录:登录成功后不知道如何获得响应

    我在我的网站上添加了一个 fblogin 按钮 工作正常 放置一个按钮 当用户单击它时 将打开一个用于登录的对话框 但我不知道登录成功后如何获得响应 请建议 您可以使用JS SDK来订阅该类型的事件 看看Facebook JavaScrip
  • 重置 MySQL root 密码不起作用

    我花了很多时间阅读并尝试了数十种重置 root 密码的方法 但我一无所获 我发现 并尝试过 的最完整的说明如下 顺便说一句 我在 Win7 32 位上运行 MySQL 5 5 我创建了一个文件 c mysqlinit txt 其中包含两行
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • 无法创建超级用户 Django

    我假设这是因为我的超级用户依赖于还没有现有数据的 UserProfile 我的模型看起来像 from django db import models from django contrib auth models import User f
  • 如何更改 Django allauth 中的“帐户已存在”消息?

    当尝试使用社交帐户登录且已存在使用该电子邮件的帐户时 会显示以下消息 An account already exists with this e mail address Please sign in to that account fir
  • Heroku 与 django 通道的正确 procfile/要求是什么?

    tl dr django 频道应用程序在本地使用 manage py runserver 运行 但不在 heroku 上运行 我是 django 通道的新手 尝试使用 heroku 通道部署一个非常基本的 django 应用程序 我最初使用

随机推荐

  • 1:1 或 1:0 关系的标准化

    当使用关系数据库并且您想要 3NF 您用英语称之为 3NF 吗 时 您可以将 1 1 关系拉到一张表中 但如果配给比例是 1 0 1 意思是 或 会发生什么呢 然后将它们分开以避免表格中出现空格 在这种情况下 将它们分开是有效的 3NF 吗
  • Java DOM 通过 ID 获取元素

    我正在 Java 中使用 DOM 解析器将子节点添加到现有节点中 我的 XML 是
  • 如何查找 SQL Server Management Studio 的服务器名称

    我安装了 Microsoft SQL Server 2008 当我启动 SQL Server Management Studio SSMS 时 我得到Connect to Server带有空白文本框的登录窗口Server name 我尝试了
  • 在 mysql 8 中使用 GROUP BY

    我已经升级了 MySQL 服务器 现在我遇到了 group by 问题 select from tickets WHERE status 0 group by tnumber ORDER BY created at DESC 错误是 SEL
  • mllib NaiveBayes 中的类数量有限制吗?调用 model.save() 时出错

    我正在尝试训练一个模型来预测文本输入数据的类别 我使用以下方法遇到了似乎数值不稳定的问题pyspark ml classification NaiveBayes当类别数量超过一定数量时 对词袋进行分类 在我的现实世界项目中 我有大约 10
  • Javascript for 循环和警报

    我正在循环浏览链接列表 我可以正确获取标题属性 并希望它在单击时显示 当页面加载并单击链接时 所有链接标题都会一一提醒 我究竟做错了什么 function prepareShowElement var nav document getEle
  • 仅在 apex 报告的某些行上显示“编辑”链接

    我有以下报告结构 显示全年产品的销售目标和销售额 每个产品都有两行 一行显示销售额 一行显示 sales target 目前 我的报告在报告的每一行旁边都有一个编辑链接 有没有办法从 sales target 行中删除编辑链接 select
  • 无法使用 PRAW 从某些 Reddit 子版块中获取随机帖子

    我正在尝试使用此代码让一个不和谐的机器人从reddit发送图像 只是为了抓取而不是发送 def random post subreddit while True post reddit subreddit subreddit random
  • Android:如何获取自定义View的高度和宽度? [复制]

    这个问题在这里已经有答案了 我该如何使用getMeasuredWidth and getMeasuredHeight 它总是返回 0 这和有什么区别getHeight and getWidth 刚刚找到了获取自定义视图的高度和宽度的解决方案
  • SQLite中保存资源路径

    我需要将图像保存在 SQLite 数据库的资源文件夹中 该数据库是预加载的 复制到数据 路径 因此在运行时不会填充 我尝试将其保存在 SQLite 的文本字段中 R drawable picture1 我的drawable文件夹中有大约30
  • MySQL FULLTEXT 不适用于多个字段

    我有一个标准的 MySQL 全文查询 如下所示 SELECT FROM accounts WHERE MATCH first name username AGAINST stringhere 问题是 它找不到该字段的全文索引first na
  • 通过 jQuery 添加 JSF 标签/组件

    这是我所做的 var a document getElementById panelForm tableId01
  • NSIS 系统 kernel32::LoadLibrary 不搜索 Outdir 或 Path

    我正在尝试在 NSIS 安装程序中加载并调用 C 库 DLL 的函数 当我尝试加载 DLL 时 发出错误 126 ERROR MOD NOT FOUND 这是我用来测试的最小安装程序脚本 OutFile Main exe ShowInstD
  • 如何配置Json.NET自定义序列化?

    由于我无法控制的原因 我从外部服务返回的数据被格式化为字符串数组的数组 string one string two 我试图将其反序列化为具有两个属性的对象 public class MyObject public string Proper
  • ajax 调用导致错误而不是成功

    在我的 ASP net mvc3 项目中 我使用 ajax 调用将 json 数据发送到控制器公司中的创建操作方法 但是当我调试ajax调用时 它总是以错误结果而不是成功结果结束 阿贾克斯调用 ajax url Company Create
  • 在javascript中移动对象元素位置

    我正在尝试找到一种将对象元素移动到特定位置的方法 例如 我有这个对象 element1 object element2 element3 我搜索将 element3 移动到第一个位置 element3 element1 element2 感
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 如何为等待函数调用添加超时

    向等待函数添加超时的最佳方法是什么 Example lets pretend this is in a library that I m using and I can t mess with the guts of this thing
  • 按平均值排名的箱线图

    我想显示多个变量的箱线图 并按列均值降序排列它们 就像在绩效分析包裹 我使用以下代码生成箱线图 zx lt replicate 5 rnorm 50 zx means lt colMeans zx na rm TRUE boxplot zx
  • django 和 facebook:代表用户执行第三方登录的 facebook web 应用程序的安全性和设计

    我正在编写一个 Facebook 画布 Web 应用程序 它执行对第三方网站的登录 使用 urllib 并代表用户执行操作 这意味着我有2个账户 用户在我的网络应用程序中拥有的帐户 通过 facebook 以及应用程序用来代表他们执行登录的