2

我想作为服务向网站所有者提供 XML 提要。XML 文件本身将通过 web 服务 (.asmx) 提供

问题是客户端可以自由地分发 XML 提要链接。

所以我想创建一个“按站点许可证”。网站所有者-客户将向我确认将请求 XML 提要的网站。通过这种方式,XML 提要将提供给特定的 http 请求。

PS我知道你可以改变标题等等......但我想实施一个解决方案“减慢速度”并感觉更好!

你能提供一个更好的许可算法吗?我怎样才能保护 XML 提要不被自由分发?

4

3 回答 3

4

这完全取决于您的业务规则所规定的内容;您想要的安全性越高,您对各个站点进行身份验证的负担就越大。您希望客户端站点越容易,您的算法就越不复杂。

但基本上,使用特定于座位的令牌(即密码)保护内容。

对于每个允许的客户端,您生成一个令牌。您需要席位作为其请求的一部分传递该令牌。当您收到该令牌时,验证它(以您认为合适的任何程度)——也许您只是检查它是否是一个有效的令牌,也许您检查 IP 发起者,也许该令牌是挑战-响应加密阶段的一部分。

跟踪席位登录并查找滥用情况(来自不同 IP 地址的请求、高速率请求等)。

在启动服务级别,除非您正在处理敏感信息或直到您获得成功,否则您可能不需要太多复杂性。

于 2011-07-03T17:09:15.903 回答
2

您可以使用基于证书(PKI 基础结构)的解决方案:您创建自己的证书发送给您的客户(每个客户都有自己的),并使用类似于此处描述的服务器端逻辑检查它:ASP.NET WebForms : 实施 PKI 认证。这不是一个 ASMX 示例,但 Http Module 逻辑是相同的。

优点是用户不必输入任何密码,因为如果网站要求,他们的浏览器应该能够出示证书。

当然,用户仍然可以复制证书并将其发送给其他用户,因此您仍然需要一些监控机制,例如基于 IP 地址(即使不是 100% 完全证明,也总比没有好)。一旦您检测到证书似乎已失效(被太多人使用),您可以在您的服务器上将其标记为无效,然后将新证书发送给合法用户。

于 2011-07-05T10:34:23.380 回答
0

我有一个与之接近的许可证系统,我想为特定 XSL 文件和特定网页提供对服务的访问权限,因为它根据来自 url 的 tagsoup http 处理 xsl,为此我采用了引用 url 和与允许的 url 相比,以及请求的 xsl 文件

我工作的另一个系统更进一步,将流 ID(用于视频流)、用户 ID 和一天中的时间作为发送的密钥,如果它们匹配,则允许流(1 分钟窗口)开始。

但是所有这些方法都适用于了解密钥中参数的顺序以及在一个或两个方向上发送的隐藏密钥以及对可见/传输密钥的结果字符串进行 md5 哈希处理。

于 2011-07-08T07:03:47.717 回答