是否可以将ASHX或WCF服务的访问权限限制为仅来自您自己域的AJAX调用?
为了提高网站性能,我们希望使用完整的jQuery& amp;然而,MS AJAX 4.0方法通过ASHX或WCF服务暴露我们的零售数据,使竞争对手更容易收集我们的数据。
是的,它是一个公共网站,他们最终可能会收获,我们会加强限制,但我们如何锁定对这些服务的呼叫到我们的域名?
Windows应用程序可以直接与服务对话并仍然收获吗?
看起来像另一个性能/安全性权衡! 叹息
任何建议都会有所帮助。
提前致谢。
答案 0 :(得分:1)
你所要求的是无法做到的。您的公共网站上可用的任何数据,无论是打算通过浏览器还是通过AJAX调用,都可以被删除。您可以尝试模糊您的Javascript和数据,或使用CAPTCHA,但这些可以解决。限制也只是一个小的威慑,因为攻击者可以涓流他们的请求,或者使用多个代理。
基本上,一旦你把它放在互联网上,它就是公开的。
答案 1 :(得分:0)
您可以使用加密参数。服务器的当前日期时间将是一个很好的参数。
MyService.ashx?parameter=<encrypted date time>
在你的ashx中检查参数以查看它是否存在并且日期时间是当前的,如果没有节流并返回空页面。允许几秒钟的余量。
这会阻止您直接从收割机调用您的服务,但它不会阻止您的网站被抓取工具收获。