如果标题对内容无关紧要,请原谅。
我们正在讨论一个互动重型网站的模型
site.com
api.site.com
在同一台服务器上。 site.com由PHP提供支持,api.site.com将由另一个Web框架提供支持。 相同或不同的服务器应答这两个域。
渲染的网站对api.site.com进行AJAX调用。
如果应用程序是“所有PHP”,那么保护这一点很容易。 会话功能可以阻止允许以下内容的HTTP请求:
问题1:如何保护内部API,以便我们确定每个请求的合法性 ?
我已经搜索了AJAX和相同的原始政策,但我没有与他们相处得很远。
我在想随机生成的'令牌',这两个域都会得到承认。
问题2: 此型号是否有特定名称?
你应该看看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的时间戳