我正在创建一个myspace应用程序,对于某些数据库条目,我使用的是我在其他网站上托管的通用处理程序。从我的myspace应用程序中,我使用对这些处理程序的ajax调用来执行我想要的活动。我想知道如何让这些ajax调用安全?我的意思是我想确保处理程序只被myspace应用程序调用,而不是通过在浏览器中输入url等等。任何想法?
答案 0 :(得分:2)
您可以通过使用UrlReferrer进行技巧来保护Generic Web Handler,例如
if (context.Request.UrlReferrer == null)
{
context.Response.Write("Invalid Request");
return;
}
此外,您可以检查UrlReferrer!= null,然后域名必须与您的传入请求匹配,例如对于例如
if(Request.UrlReferrer.ToString().indexOf("http://www.tyamjoli.com")!=-1)
{
//Valid request
}
答案 1 :(得分:0)
这是100%不可能的。每个人都可以访问您的JavaScript,并可以随意修改它。他们可以使用TamperData查看浏览器发出的所有请求,并删除/修改/重播它们。
答案 2 :(得分:0)
我对myspace应用程序了解不多,但它有一个服务器组件吗?如果是这样,您可以先从应用程序请求“令牌”,这将是加密操作和一些任意超时,比如3秒。然后将令牌传递给通用处理程序,解析程序然后检查超时。如果有效,则执行解密的动作。
网络延迟和非同步时钟等外部因素可能导致某些操作无法执行。这应该会妨碍简单的重放攻击,但仍然容易受到脚本攻击。