如何付款 | 地理位置 | 帮助中心
 
 
 
网络应用程序开发的最佳做法
网络  发表时间 2006-6-8

          对于超时设置、缓存和账户登出方面的其它最佳做法等Web(网络)应用程序开发指南,您从安全的角度看有什么意见?

答:Web应用程序必须建立会话以便不间断地跟踪用户的请求,而且账户登出是管理
活跃会话的一个重要的方面。你的应用程序应该在每一页上都有一种让用户登出的方法,如登出按钮或者登出的链接。此外,一段时间没有登录的用户应该让他们在重新注册之前不能访问这个网页。

你的超时设置应该以用户如何与Web应用程序进行交流以及这个数据的敏感程度为基础。例如,有些银行网站把超时设置限制在10分钟,部分原因是由于其用户访问的数据的敏感程序。此外,因为“记住我”的选项能够忽略超时设置,你应该禁止自动登录用户或者保持活跃功能。

遗憾的是,对于客户端缓存你的应用程序的内容,你的控制能力是很有限的。如果你不允许浏览器缓存你的内容,在服务器应响应头(response header)中设置控制指令影响客户端处理缓存的方法。如果你不允许浏览器缓存你的网页,可以把缓存控制响应头设置为不许存储。这将命令浏览器缓存不要存储任何响应或者向它提出的任何请求。遗憾的是不许缓存或者不许存储是HTTP 1.1的头文件,因此,HTTP 1.0不支持这些指令。此外,PDF和Excel表单等非HTML内容即使采用上述设置也常常可以被浏览器缓存。

另一个令人担心的事情是,有些浏览器常常能够存储用户提交的表格数据,这是不安全的。如果你的Web表格有收集敏感数据的,增加“AUTOCOMPLETE=FALSE”的属性,以警告浏览器不要存储这个数据。我说警告,是因为这个属性不是HTML技术规范的一部分。如果这个用户在使用一台共享的PC而且你认为你的应用程序有很大的风险,你应该要求他或者她清除浏览器的缓存和历史记录。

你清除服务器端的会话状态也是很重要的,当用户登出之后或者这个会话过期之后,你应该销毁服务器端的会话并且覆盖在浏览器中的任何会话的cookies,因为浏览器仅仅在它的线程终止这个会话的时候才销毁会话的cookies。这样做可以确保在闲置时间超时或者用户登出之后不发生会话重放攻击事件。此外,在URL中的会话ID应该不包括在内,因为这个会话ID容易被人偷窥、被浏览器缓存和其它网站的参考记录所存储。理想的做法是包括会话ID在内的整个会话过程都应该采取SSL保护措施,以防止通过网络拦截暴露会话ID。会话ID应该是很长的、复杂的和随机的数字,并且在任何重要的交易处理之前或者在一定数量的请求发出之后或者在一段时间之后都应该过期并且重新生成,特别是在转换到SSL的时候更需要如此。这将减少会话劫持和蛮力攻击的危险。最后,一定要在你的安全政策文件中写明管理应用程序会话的目标,以及为了实现这个目标作采取的机制。(techtarget)

关键词:网络应用、应用程序、程序开发、最佳做法、软件业务、上海网站建设、网站制作、网站推广服务

 

-->更多相关新闻
版权所有©2005 上海巧创网络技术有限公司 沪 ICP 备 05001802 号
网络实名: 上海网站建设上海网络公司上海仓存管理软件 电话: 021-50757260 50769776 50758883 传真: 50757260-14
地址:上海市浦东枣庄路 683 号(金杨经济服务中心) 6 楼 邮编 :201206 E-mail:webmaster@soeasy.cn