缓存代理访问控制

缓存代理访问控制

我想使用缓存代理强制我的页面上的所有连接都通过 SSL,并让代理处理不安全的连接。

该代理可以通过网络访问。

现在我想知道是什么阻止人们使用该代理?

基本上,我需要做的是在浏览器中显示电子邮件内容,并且嵌入的资产应该通过 SSL 进行代理,例如https://myproxy.com?url=http%3A%2F%2Funsecure.com%2Fa.png

答案1

如果我理解正确的话,您正在您的网站上显示第三方电子邮件内容(即您的系统下载电子邮件并将其显示在网页上)。您应该非常小心执行此操作时的 XSS 风险,并正确转义和呈现您收到的内容。这说起来容易做起来难,特别是如果您希望电子邮件保持其总体外观和感觉。

例如,GMail 默认隐藏所有第三方内容,如果您选择加载它,浏览器实际上会在“安全连接”指示上显示警告标志。如果您选择这样做,使用单独的域名将是一个好主意。“这对 Google 来说已经足够好了”对客户来说可能是一个足够体面的理由。

如果您以简单的方式实施代理,则没有什么可以阻止任何人使用您的代理获取任何类型的内容。您可以向执行代理的服务器添加某种 HTTP 身份验证(基于 cookie、HTTP 身份验证或 TLS 客户端证书)。在常规设置中,基于 cookie 可能是唯一有意义的选项。更复杂的替代方案将涉及解析电子邮件、提取热链接资源和重写 URL,以便您的代理仅接收特制的代理请求,而不接收用户输入 URL 栏的任何内容。

如果您解释您正在构建的系统的一般用途和功能,我可能能够提出更好的解决方案。

相关内容