我创建了一个书签,当单击时从页面中提取所有图像并src
通过 JSONP 将 img 发送回另一个(远程)服务器。
问题:远程服务器必须检查会话身份验证 cookie 以确保发送 JSONP 请求的用户在将 img 添加src
到数据库之前已登录。我可以通过 JSONP 检查会话 cookie,现在如果用户未登录并且我希望此时允许用户登录,我应该如何显示登录屏幕?
此外,通过 JSONP 检查会话 cookie 是否存在任何安全风险?
书签的 jQuery
我.getJSON
用来做 JSONP 的方式可能是错误的`
$('.thing').on('click', function() {
var jsonp_url = 'http://mydomain.com/bookmark.js?callback=?';
var data = {
type: 'addToLibrary',
thingImgSrc: 'http://google.com/someimage.jpg';
};
$.getJSON(jsonp_url, data, function(resp) {
// console.log('done');
});
});
登录时的服务器响应
addToLibrary(["1"])
未登录时的服务器响应
addToLibrary(["0"])
回调函数
addToLibrary = function(data) {
if(data == '0') {
// show login screen
} else {
// show OK screen
}
}
用户登录的想法
- 收到
["0"]
指示错误后,弹出一个显示登录表单的窗口,登录将正常完成,因为弹出窗口包含来自远程服务器的页面。 - 在收到
["0"]
错误提示时,在当前页面上弹出一个包含登录表单的 AJAX 样式模式框,登录将通过 JSONP 完成。