如何锁定ASHX / WCF服务的AJAX调用到域以停止数据收集

时间:2010-02-17 07:48:30

标签: ajax wcf security ashx

是否可以将ASHX或WCF服务的访问权限限制为仅来自您自己域的AJAX调用?

为了提高网站性能,我们希望使用完整的jQuery& amp;然而,MS AJAX 4.0方法通过ASHX或WCF服务暴露我们的零售数据,使竞争对手更容易收集我们的数据。

是的,它是一个公共网站,他们最终可能会收获,我们会加强限制,但我们如何锁定对这些服务的呼叫到我们的域名?

Windows应用程序可以直接与服务对话并仍然收获吗?

看起来像另一个性能/安全性权衡! 叹息

任何建议都会有所帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

你所要求的是无法做到的。您的公共网站上可用的任何数据,无论是打算通过浏览器还是通过AJAX调用,都可以被删除。您可以尝试模糊您的Javascript和数据,或使用CAPTCHA,但这些可以解决。限制也只是一个小的威慑,因为攻击者可以涓流他们的请求,或者使用多个代理。

基本上,一旦你把它放在互联网上,它就是公开的。

答案 1 :(得分:0)

您可以使用加密参数。服务器的当前日期时间将是一个很好的参数。

MyService.ashx?parameter=<encrypted date time>

在你的ashx中检查参数以查看它是否存在并且日期时间是当前的,如果没有节流并返回空页面。允许几秒钟的余量。

这会阻止您直接从收割机调用您的服务,但它不会阻止您的网站被抓取工具收获。