如何提出不可伪造的跨域请求

|| 我需要从ѭ0到ѭ1的服务器端获取一些数据。为了向“ 0”请求检索数据,需要存在与“ 0”域相关的cookie。我假设因此需要使用JSONP在JavaScript中执行此操作? 我的想法是使用JavaScript向
B
发出请求,然后捕获结果并将其粘贴在
A
域上,以便后续对ѭ5requests的请求都将cookie与返回的数据一起携带(对
A
进行两次请求无关紧要将信息获取到
A
的服务器端)。除了可以完全破解之外,这可以正常工作。 数据本身不是秘密,但我需要防止请求伪造或
Site A
上的人手动调用JSONP回调函数,或手动对
A
cookie进行设置以防止数据被盗用或伪造。另外,黑客还有其他漏洞吗?这也需要预防! 我能想到的唯一方法是:
Site A
生成一个随机令牌并将其存储在会话中。然后,将此令牌附加到
Site B
的JSONP请求的查询字符串中。
Site B
然后作出响应,但使用数字签名对常规数据以及令牌进行加密。然后,1ѭ将这个值粘贴到
A
的cookie中。在对“ 5”的下一个请求中,“ 5”的服务器端可以捕获cookie,获取其值,对其解密,检查令牌,如果它与会话中的值匹配,则信任其余数据。 听起来合理吗?有更容易的方法吗?我的目标是减少5英镑时的复杂性。 谢谢     
已邀请:
避免被黑客入侵的方法是让站点直接相互通信,而不是使用客户端JavaScript。编写一个小的轻量级REST API,该API允许在后台将数据传输到服务器之间。 链接到站点A时,在URL中包括一个身份验证令牌,然后可以使用对站点B的幕后调用对其进行检查。此调用可以传输任何其他必需的信息。该令牌可能应该是IP绑定的,并在使用后过期。成功后,您可以在站点A中设置cookie信息,从而避免进行进一步的往返旅行。     
您可以使用easyXDM在域之间进行通信。有了它,您有两个javascript程序,一个在使用者域上,一个在提供程序上,可以断言使用者的域。这两个程序都可以与用户交互,并且用户可以向双方进行身份验证。通过提供者计划了解用户是谁,以及知道消费者是谁,提供者可以将所需的任何数据传递给消费者。 这就是Twitter,Disqus和LinkedIn等大公司使用的API。     

要回复问题请先登录注册