如何生成一个“私有 URL”,在安全性和便利性之间实现最先进的平衡?

2024-03-27

我在哪里可以找到有关“私有 URL”的写得很好、深入的技术讨论,例如 Google 文档中使用的“知道链接的任何人”?我正在寻找诸如生成链接的算法和实现、它使用的 ID 空间的大小、安全影响的分析以及为了方便而在安全性方面做出的务实妥协等主题。我想避免阅读有关“通过默默无闻实现安全”的教条。

我找到了一个松散相关的 Stack Overflow 问题 https://stackoverflow.com/questions/4833314/are-secret-urls-truly-secure,但它并没有深入讨论这个主题,而且答案比我想要的更教条,更不务实。

我在谷歌学术搜索, , and 。我发现了一些有趣的论文和专利,但我仍然有兴趣了解更多关于最新技术的信息。[] [2 https://lirias.kuleuven.be/bitstream/123456789/272355/1/CW585.pdf] [3 http://www.google.com/patents/US6360254] [4 http://www.google.com/patents/US6718328] [5 http://www.google.com/patents/US6529956]


我怀疑对这个问题缺乏回应主要反映了这样一个事实:1)问题空间非常微妙,2)以前解决过这个问题的人不想谈论他们所做的事情。我会努力逆潮流而动。 :)

实际上,以下变量往往主导我所见过的对话:

  • 如果用户手头有链接并将其转发给朋友,这是一个功能还是一个错误?
  • 如果内容所有者想要撤销访问(即撤销链接),这应该有多容易做到?发生的频率有多高?
  • 链接应该超时吗?如果是多久之后?
  • 让我们感到舒适的“界限”在哪里?例如,如果它是文档的链接,只读就足够了吗?它应该具有读写能力吗?考虑到威胁模型,我们的舒适感是否有限?
  • 链接的可用次数是否有限制?
  • 我们是否关心链接是否漂亮,或者其中是否有一些丑陋的大斑点?
  • 对于链接的版本控制、后端服务以及可能导致重大更改的事物,存在哪些类型的问题?
  • 如果底层内容移动/链接发生变化,已发送的私人链接是否应该中断?更一般地说,什么样的操作应该打破链接,以及这会对用户体验产生什么影响?
  • 假设一个技术精湛的攻击者正在追踪您的链接,那么还有哪些其他防御措施可以防止猜测该空间,以及您有什么仪器故事?然后,您将其与链接本身中的数学叠加,并说服自己您有一个威胁模型,可以在其中猜测单个链接,并且具有一个成本模型,其成本非常昂贵。

在实现方面,我不知道有论文或现成的实现可以做到这一点。我参与过的每一个(遗憾的是,我参与过不止一个......)都是定制的。 我可以在这里提出一套单一的权衡方案并对其进行评论,但我不确定这是否会有帮助。对于上面的问题,每个人都会有不同的回答。

我很高兴用更多数据对您的特定场景进行更多评论......

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

如何生成一个“私有 URL”,在安全性和便利性之间实现最先进的平衡? 的相关文章

  • spring 类路径资源中的相对路径

    我有一堆 spring 配置文件 所有这些文件都位于各个子包的 META INF 目录下 我一直在使用如下所示的导入
  • 使用 JavaScript 更改 iframe 中的 URL

    我有一个 iframe 它从父页面调用一个函数 该函数是 window location 但这不会更改 url 有没有办法让 iframe 从父页面调用函数 这会导致 iframe 更改 url 我还有一个基本问题 如果我有一个 ifram
  • 通过 web.config 设置拒绝目录中的所有文件

    作为测试 我尝试使用 web config 通过以下方式控制安全性 拒绝访问目录中除特定文件之外的所有文件 允许访问目录中除特定文件之外的所有文件 所以我设置 web config 如下
  • 这段php代码安全吗?

    我知道我应该使用准备好的语句 但我的下一个项目将使用准备好的语句 我只需要完成这个简单的小应用程序 所以我的问题是 以下代码片段安全吗 我使用了 htmlentities 以及 mysql real escape string 因为我认为这
  • asp.net 保护图像免受其他用户的静态请求?

    我在一个为每个特定用户生成动态图像的网站上工作 有时这些图像包含非常敏感数据的描述 最近 我们开始看到对属于不同用户的图像的请求 其形式为 http myapp images someuid image1 jpg http myapp im
  • windows下删除进程权限

    出于安全原因 我正在寻找一种删除进程权限的方法 我想以具有特权的用户身份开始 并以受限用户身份结束 例如 我希望我的 Web 服务器在受限用户下运行 但我仍然想监听端口 80 我怎样才能在Windows下做这样的事情 与 Unix 类似的东
  • 用于存储应用程序用户机密的 Azure Key Vault 机密

    在我的应用程序中 我必须存储用户的非常敏感的数据 例如其他第三部分服务的各种密码 用户填写一个表格 向我们提供第三部分服务的登录名和密码 该应用程序的目标是使用从 100 多个输入生成的 powershell 脚本来设置其他复杂系统 需要将
  • 如何关闭 Oracle 密码过期功能?

    我正在使用 Oracle 进行开发 我经常用于重建数据库的引导帐户的密码已过期 如何永久关闭该用户 以及所有其他用户 的密码过期功能 我使用的是 Oracle 11g 默认情况下密码会过期 要更改 Oracle 中某个用户配置文件的密码过期
  • 在JSP中获取Servlet转发的请求URL

    如何在JSP中获取Servlet转发的请求URL 如果我在 JSP 中运行以下代码 System out println servlet path request getServletPath System out println requ
  • 通过访问硬盘序列号来保护软件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想获得VB NET或VB代码来在启
  • 表单方法=“获取”漂亮的URL

    所以我使用这个 HTML 表单作为一个简单的搜索字段
  • ASP.NET MVC - ValidateAntiForgeryToken 过期

    在网页中 我们提供一个超链接 GET 用户可以单击该超链接进行身份验证 Html ActionLink Please Login MyMethod MyController 这映射到以下返回视图的控制器方法 RequireHttps pub
  • emberjs 对一条路线使用多个路径/url

    在 Ember 中我可以使用这个 App Router map function this route accomodations 因此 如果访问 accomodations 它将加载该视图 我还可以补充 App Router map fu
  • 在弹性搜索中使用 GET/POST 时的不同结果

    我正在通过 Elastic Search Head 插件尝试弹性搜索 当我通过 POST 提交查询时 结果符合预期 但是 当我使用 GET 尝试相同的查询时 我总是会返回索引中的所有值 那么 如何通过 GET 将查询传递到弹性搜索服务器 以
  • 加密成本高,解密成本低

    我希望该用户 攻击者加密数据并发送给服务器 现在我想要一种与标准算法完全相反的算法 使用快 难以解密 即很难使用服务器发送的密钥来加密密码等数据 以防止随机攻击 但很容易解密这样服务器在验证用户时消耗的时间非常少 但是对于攻击者来说 每次使
  • 在 Spring Security SAML 身份验证请求中配置 POST ProtocolBinding

    Spring Security SAML 坚持在 SAML 身份验证请求中请求 Artifact 绑定 ProtocolBinding 属性
  • 在 scrapy 中将基本 url 与结果 href 结合起来

    下面是我的蜘蛛代码 class Blurb2Spider BaseSpider name blurb2 allowed domains www domain com def start requests self yield self ma
  • Android应用程序中的模式输入

    我想知道是否有其他替代方案可以替代 Android 上平庸的 EditText 密码输入 是否有 API 或开源代码可以集成到我的应用程序中 类似于锁屏图案解锁 Intent 可能会返回哈希值 数字 字符串或代表用户输入的模式的任何内容 我
  • 用户如何登录定义了读者角色的 couchapp?

    我通过 Couchapp 部署了我的应用程序 这意味着整个应用程序是从数据库中提供服务的 我不希望 Couchdb 数据库中的数据公开可用 因此我指定了用户在向他提供数据之前必须具有的读者角色 然而 当我去申请时 我所能得到的是 error
  • WPF 无法从 url 检索 WebP 图像?

    我无法从网址检索图像 以前 在设置 HttpClient 标头之前 我根本无法连接到该站点 我可以从其他来源检索图像 但不能从这个特定来源检索图像 检索图像的代码 var img new BitmapImage img BeginInit

随机推荐

  • 在没有 VSDBCMD 的情况下部署 VS2010 数据库项目?

    自首次引入 Visual Studio 2010 的数据库项目以来 我们一直在多个内部或单一客户项目中使用它们 到目前为止 它们对我们来说运行良好 现在 我们第一次将它们与 盒装 产品一起使用 该产品需要打包才能安装在任意客户站点 到目前为
  • 可靠的WebSocket连接状态检测

    我一直在寻找实现可靠的 WebSocket 连接恢复机制 经过一番调查 我发现一种方法是将心跳发送到服务器 ping pong 并检查我是否收到整个pong在有限的时间内 因此 如果连接实际上已断开或速度非常慢 则会被视为断开连接 if a
  • 如何修复IntelliJ IDEA方法参数自动完成?

    我正在使用 IntelliJ IDEA 15 我注意到 默认情况下 Eclipse 在编写需要多个参数的方法调用时提供了更方便的自动完成功能 Eclipse 会自动填充默认参数 并允许您通过按快速浏览它们Tab IntelliJ 不这样做
  • 打印转换后的 XML

    由于情况超出了我的控制范围 我将用自制的 XML 报告替换所有的 Crystal 报告 这些报告运行得非常好 对于大多数弹出 Crystal Reports 查看器的报表 以下代码可以在 IE 中很好地打开它们 并通过 XSLT 样式表将其
  • DRF Serializer - 如何返回外键字段?

    早上好 我真的很难解决从 Django Rest Framework API 返回值的问题 我有两个模型 SirTarget 和 Status SirTarget 就像一张票证 而 Status 是票证的文本状态标签 对应于处理票证的阶段
  • 来自 Properties 的 C# 自定义属性

    所以我有一个来自我的类 的属性集合 我想循环遍历它 对于每个属性 我可能有自定义属性 因此我想循环遍历这些属性 在这种特殊情况下 我的城市类别有一个自定义属性 public class City ColumnName OtroID publ
  • Swift / SKStoreProductViewController PushViewController 结果为(lldb)

    为了将用户推送到 iTunes 商店获取所需的项目 我使用以下函数 func openStoreProductWithiTunesItemIdentifier identifier String let storeViewControlle
  • 使用 pytest-django 进行测试期间,Django 连接对象看不到第二个数据库的表

    底线 在使用 pytest django 进行测试期间 我的 Django 连接对象看不到第二个数据库的表关系 概述 我有一个问题 我的 Django 连接对象似乎获取了错误的数据库信息 当我查询 客户 数据库中的表时 我偶然发现了这个问题
  • 文本编辑器的动态高度

    我正在努力适应TextEditor里面一个ScrollView 有没有办法制作TextEditor只占用适合所有文本所需的空间 或者简单地说 如何改变height of the TextEditor动态地适应所有文本 你可以把它放在一个ZS
  • 取消 AJAX 请求会减慢后续导航速度

    在我的应用程序中 当用户请求报告时 jquery AJAX 使用 load 调用一个执行大量数字运算和 mySQL 请求的文件 加载一般需要5 6秒 ajaxStart and ajaxStop 用于在加载期间显示加载 gif 问题 如果用
  • 为什么我的 CompletableFuture 代码可以在 Java 8 中运行,但不能在 Java 11 中运行?

    为什么这段代码在 Java 8 和 Java 11 中的行为不同 private static String test2 CompletableFuture runAsync gt IntStream rangeClosed 1 20 fo
  • 使用布局将面板设置在屏幕中央

    我尝试使用以下方法将子面板的位置设置在父面板的中心 parent panel setLayout new BorderLayout parent panel add child panel BorderLayout CENTER 但它被添加
  • Python 类成员

    我刚刚学习 Python 并且有 C 背景 所以如果我对两者有任何困惑 混淆 请告诉我 假设我有以下课程 class Node object def init self element self element element self l
  • MVC 中间件检查控制器方法的属性

    我正在使用 asp net core mvc 在默认身份验证旁边 我添加了非常具体的授权 这是通过使用完成的ResultFilterAttribute属性 将来 为了确保开发人员为每个控制器方法指定权限 我想在执行操作之前检查是否为方法设置
  • 查询中的mysql语法错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到错误查询失败 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在第 5 行 5 7 6 9 1
  • Nuxtjs:如何使用 HttpOnly Cookie 进行 Nuxt-Auth 策略

    我之前使用过 Vuejs 并决定研究一下 NuxtJs 在我以前的应用程序中 我的服务器发送了一个我的客户端无法读取的 HttpOnly cookie 因此 对于身份验证 我尝试了 NuxtAuth 它有一些策略 我注意到不可能使用 Htt
  • Android WebView 中的编程点击

    我有一个网站href其中将我重定向到 https a href class login link link private cab link i class icon user i a 所以 我可以通过 JavaScript 点击它 它在
  • maxima:使用函数作为函数参数

    就像标题所说 我想使用函数作为函数参数 直觉上我尝试了类似的东西 a t c t c b R 11 R 12 R 13 d 1x d 1y d 1z R 11 d 1x R 12 d 1y R 13 d 1z f a t c b R 11
  • 如何使用特定的“hd”(托管域)参数配置 Firebase + Google OAuth?

    我正在将 Firebase 与 Google 身份验证提供商一起使用 在其他应用程序中使用 Google OAuth 时 我可以将身份验证配置为仅限于特定域 Google OpenID Connect 文档详细介绍了用于此功能的 hd 参数
  • 如何生成一个“私有 URL”,在安全性和便利性之间实现最先进的平衡?

    我在哪里可以找到有关 私有 URL 的写得很好 深入的技术讨论 例如 Google 文档中使用的 知道链接的任何人 我正在寻找诸如生成链接的算法和实现 它使用的 ID 空间的大小 安全影响的分析以及为了方便而在安全性方面做出的务实妥协等主题