假设我正在接受一种商业模式,如果他们访问我的网站,可以免费访问我的专有数据。这些用户会有广告补贴的费用。
然后,对于付费用户,我想提供对我的数据的直接原始 WCF 访问作为激励。我不希望免费赠品用户可以使用它,但同时该站点正在使用 AJAX 来呈现页面内容。
问题
就像今天一样,AJAX 和原始 WCF 访问在线上看起来是相同的。我需要确定流量的来源是什么(网页,或不是),并保护我的实现免受滥用。
可能的解决方案?
可以获取页面变量(在 ASP.net/Javascript 中)并将其用作非付费用户所需的验证密钥。我可以在每个 AJAX 请求中包含这个密钥。如果这是最好的解决方案,我应该如何将它从服务器发送到客户端?
关于认证
不确定这是否重要,但所有用户(付费和非付费)都将通过身份验证。cookie 将存储在客户端上,并且可能由 STS 生成。