如何保护网站和内部API?

问题描述 投票:3回答:1

如果标题对内容无关紧要,请原谅。

我们正在讨论一个互动重型网站的模型

site.com
api.site.com

在同一台服务器上。 site.com由PHP提供支持,api.site.com将由另一个Web框架提供支持。 相同或不同的服务器应答这两个域。

渲染的网站对api.site.com进行AJAX调用。


如果应用程序是“所有PHP”,那么保护这一点很容易。 会话功能可以阻止允许以下内容的HTTP请求:

  • 未记录的陌生人访问用户的数据
  • 合法登录的用户请求其他用户的数据

问题1:如何保护内部API,以便我们确定每个请求的合法性


我已经搜索了AJAX和相同的原始政策,但我没有与他们相处得很远。

我在想随机生成的'令牌',这两个域都会得到承认。

问题2: 此型号是否有特定名称?

php ajax security apache same-origin-policy
1个回答
1
投票

你应该看看JSONP。 jQuery有一个很好的例子: http//api.jquery.com/jQuery.getJSON/

你需要添加jsoncallback =? 到URL使其工作。

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?"

有了这个,您可以避免同源策略

所述jsoncallback将是一个时间戳,应echo-ed由PHP脚本输出该JSON这样的:

jsonp1277656587731(/* rest of the JSON here */);

这里的数字是随机生成的字符串,或者是jQuery JSONP的时间戳

© www.soinside.com 2019 - 2024. All rights reserved.