`
alexcheng
  • 浏览: 181652 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ajax Security (1)

阅读更多
下面的内容参考自:http://www.whirlycott.com/phil/2005/04/15/security-in-an-ajax-world/

文章中大概提到了采用Ajax的RIA在安全方面会遇到的问题,主要是如何限制用户访问受保护的数据。

文章中提到了3种方法,都是针对返回数据是XML格式的:

首先就是返回的XML数据的Tag是由服务器随机生成的,并在HTML中内嵌用来查询的XPath语句。具体做法是服务器首先生成正常内容的XML数据,其中的Tag都是有意义的。然后通过XSLT变化,把XML数据的Tag变成随机的。

这种方法由于在服务器进行XSLT变换,增大了服务器的开销;另外需要在使用该XML数据的HTML页面中嵌入准确的XPath语句,所以整合起来不方便。

其次就是在服务器动态生成的页面中嵌入UUID,作为HTTP请求头中的一个值发送给服务器。服务器可以验证Token是否正确来判断是否允许访问。

js 代码
  1. //Generated on the server and included as part of the dynamically generated HTML   
  2. var ajaxToken = “dff0194b-384f-43d3-0059-889247de5f88″;         
  3.   
  4. //Make a request for some data and include the token   
  5. var req = new XMLHttpRequest();   
  6. req.setRequestHeader(”AJAX-Token”, ajaxToken);   
  7.     

会带来的问题就是如果第三方需要使用你提供的服务的话,那么也需要你提供Token。

最后一种方法就是使用传统的HTTP Session来管理认证。当用户访问某个Ajax风格的网站时,在Session中存放一个允许他们访问受限资源的属性。当XMLHttpRequest发送请求的时候,它会发送当前网站中所有活动的session cookie。这种做法是较容易实现,而且较好的办法。

这种方法要求Ajax页面和XML数据需要在同一个域中,否则cookie发送不到。

分享到:
评论

相关推荐

    SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    知识点1:SpringBoot+SpringSecurity框架简介 SpringBoot是一个基于Java的开源框架,能够快速构建生产级别的应用程序。SpringSecurity是一个基于Spring的安全框架,能够提供身份验证、授权和加密等功能。在本文中...

    spring security ajax请求与html共存

    1. **Spring Security基础** Spring Security的核心功能包括用户认证、权限控制和会话管理。它通过拦截HTTP请求,对用户进行身份验证和授权,从而保护应用程序资源。这个框架提供了灵活的配置选项,允许开发者根据...

    spring security 数据库存储资源信息 记住我 支持AJAX

    1. 配置Spring Security以使用数据库存储用户信息,例如通过实现UserDetailsService接口。 2. 实现RememberMeServices接口,设置密钥,并在配置中启用remember-me服务。 3. 定义安全规则,使用`@Secured`或`@...

    Springboot+SSM+security+ajax+bootstrap+jquery+mysql

    1. `pom.xml`:Maven或Gradle的配置文件,定义了项目依赖,如Spring Boot、Spring MVC、Spring Security等。 2. `src/main/java`:存放Java源代码,包括控制器、服务、实体类等。 3. `src/main/resources`:存储配置...

    Ajax.Security

    ### Ajax.Security:深入探讨Ajax安全问题 #### 一、引言 随着Ajax技术在Web开发中的广泛应用,其安全问题也逐渐凸显。《Ajax.Security》这本书深入探讨了Ajax相关的各种安全问题,为开发者提供了宝贵的资源。本书...

    Ajax宝典.part1.rar

    Ajax Bible bySteven Holzner John Wiley & Sons 2007 (716 pages) ... Chapter 15 - Ajax and Security Chapter 16 - Filters, MVC, and Ajax Index List of Figures List of Tables List of Sidebars

    Ajax Bible

    Ajax Bible bySteven Holzner John Wiley & Sons 2007 (716 pages) ... Chapter 15 - Ajax and Security Chapter 16 - Filters, MVC, and Ajax Index List of Figures List of Tables List of Sidebars

    spring-security-core-2.0.5.RELEASE.jar修改使得满足ajax登录需求

    更改了RedirectUtils类的 response.sendRedirect(response.encodeRedirectURL(finalUrl)); 改为了 StringBuffer str = new StringBuffer(); str.append("{"); str.append("status: \"true\",");...

    Enterprise-Ajax-Security-with-ICEfaces.pdf

    #### 标题解析:“Enterprise-Ajax-Security-with-ICEfaces.pdf” 此标题明确指出了文档的主要内容:面向企业的Ajax安全及其在ICEfaces框架下的实现。该文档针对的是企业级应用程序开发人员,旨在帮助他们了解如何...

    Web 2.0 Security - Defending Ajax, RIA, and SOA.pdf

    《Web 2.0 Security: Defending Ajax, RIA, and SOA》是一本由Shreeraaj Shah编写的权威性著作,深入探讨了在Web 2.0环境下如何有效地保护诸如Ajax(Asynchronous JavaScript and XML)、RIA(Rich Internet ...

    mavenSSH+Ajax2

    Maven SSH 提供了一种基于Maven构建工具的SSH(Spring Security)集成解决方案,而Ajax 2则代表了Asynchronous JavaScript and XML(异步JavaScript和XML)的第二代技术,用于增强Web应用的用户体验。 **Maven SSH...

    Ajax里jQuery的ajax与ssh集成

    SSH框架如Spring Security可以提供用户认证和授权服务,确保只有经过身份验证的用户才能访问特定资源。同时,Ajax请求可以通过添加HTTP头部(如`X-CSRF-TOKEN`)来防止跨站请求伪造(CSRF)攻击。 总的来说,Ajax里...

    Ajax登陆使用Spring Security缓存跳转到登陆前的链接

    1. **Ajax的定义与作用** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。也就是说,...

    Ajax-national-security-project.zip

    Ajax-national-security-project.zip,面向国家安全的地理信息网络平台,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...

    c# dll jmail ReportViewer Zip Ajax Mysql Win32Security

    1. **C#**:C#是一种面向对象的编程语言,由微软开发,主要用于Windows平台上的应用开发,特别是.NET框架。它支持多种编程范式,如面向对象、函数式和声明式编程。 2. **DLL(动态链接库)**:DLL是Windows操作系统...

    springboot+ajax示例

    1. **SpringBoot配置**:包括创建`@SpringBootApplication`注解的主类,配置数据源,定义RESTful API接口等。例如,你可能有一个`@RestController`注解的控制器,使用`@GetMapping`或`@PostMapping`来处理HTTP请求。...

    Java Ajax 网页聊天源码

    Java的过滤器(Filter)和安全框架(如Spring Security)可用于实现这些功能。 理解这个源码可以帮助开发者学习如何在实际项目中整合Java后端和Ajax前端,实现高效的Web应用。通过对源码的分析,我们可以掌握异步...

    spring security form表单,基于ajax请求,包含多登出方式

    spring security form表单,基于ajax请求,用于前后端分离,包含多登出方式

    jQuery_AJAX网页系统

    对于这些问题,开发者可以通过使用JSONP(JSON with Padding)解决跨域问题,引入CSP(Content Security Policy)提升安全性,并使用服务器端渲染或预加载策略来优化SEO。 综上所述,jQuery_AJAX网页系统是通过...

Global site tag (gtag.js) - Google Analytics