相关疑难解决方法(0)

登录/会话cookie,Ajax和安全性

我正在尝试为基于ajax的登录表单确定最安全的方法来进行身份验证并设置客户端cookie.我见过有关XSS攻击的事情,比如:

HttpOnly cookie如何处理AJAX请求?

http://www.codinghorror.com/blog/archives/001167.html

所以,我想我的核心问题是......

1)使用纯粹的ajax来设置cookie是否安全,如果是,那么最安全的方法是什么(httpOnly + SSL +加密值等)?

2)纯粹的ajax方法是否涉及设置cookie客户端?这一切都安全吗?

3)在所有主流浏览器/操作系统中以这种方式设置cookie是否可靠?

4)使用隐藏的IFrame是否更安全(调用网页来设置cookie)?

5)如果可能的话,是否有人为此编写代码(PHP是我的后端)?

我的目标是设置cookie并让它们可用于下次调用服务器而无需离开页面.

我真的想要确定共识,最安全的方式来做到这一点.最终,这个代码计划成为开源的,所以请不要使用商业代码(或者没有任何不能经得起公众监督的代码)

谢谢, - 托德

security cookies ajax

42
推荐指数
1
解决办法
2万
查看次数

以jsonp发送请求,使用jQuery 1.5将响应解释为文本

简短的问题:有没有办法向服务器发出jsonp请求,捕获请求,但不能将其解析为javascript?我在jQuery 1.5中使用dataType:"jsonp text"但它无法正常工作.

我正在尝试使用jsonp通过AJAX访问跨域URL.问题是另一个域(我大学的目录列表)很老,我怀疑服务器是否支持jsonp.

  • 在Firefox中,我收到"XML标记名称不匹配(预期的META)"错误.在chrome中,我得到一个"Uncaught SyntaxError Unexpected token <",它们都指向与我的AJAX请求相对应的文件.错误回调中的错误字符串是"parsererror".
  • 我无法进行正常的AJAX调用 - 当我将数据类型更改为"text"或将其全部删除时,另一个域会抱怨用户未经过身份验证并重定向到登录页面 - 即使我已经登录浏览器端.当dataType是jsonp时,不会发生这种情况.
  • 我知道服务器需要支持JSONP,我认为它不支持,但是当我将dataType更改为JSONP时,我可以看到响应页面资源显示在Chrome和Firefox中 - 所以服务器实际上将响应发送到浏览器(静态HTML网页+一些java脚本) - 包含我想要获取的数据.
  • 问题是jQuery试图将响应解析为javascript,并且失败(因为它不是javascript).所以数据最终会在浏览器中出现 - 我只需要访问它!
  • 使用dataType:"jsonp text"应该指示发送jsonp请求并将响应解释为文本没有区别 - 仍然是解析错误.

我想要的是:一种从jsonp请求以纯文本形式访问响应的方法.或者,如果我可以从失败的jsonp请求访问原始响应 - 这也可以.

提前致谢!

码:

ajax_url = 'https://somesite/?searchTerm='+query+'&searchType=lastname';
var jqxhr = $.ajax({type:"GET",
url: ajax_url,
dataType:"jsonp text",
callback: "whatever",
success:function(responseData) {
   $('div#content').text( responseData.slice(0, 100) );
   dbg(responseData.slice(0,100));
}})
.success(function() { alert("success"); })
.error(function(obj, errStr) { alert("error"); dbg("error: " + errStr + "test: " + test.responseText + this.responseTxt);})
.complete(function() { alert("complete"); });
Run Code Online (Sandbox Code Playgroud)

jquery jsonp cross-domain cors

5
推荐指数
1
解决办法
5677
查看次数

标签 统计

ajax ×1

cookies ×1

cors ×1

cross-domain ×1

jquery ×1

jsonp ×1

security ×1