http://mdsec.net/auth/232/
HTML5正引入一系列新的本地存储机制,它们包括:
会话存储;
本地存储;
数据库存储。
这些机制的规范和用法仍在开发阶段。并非所有浏览器都实施了所有这些机制,测试其用法及查看存储的任何数据的方式因浏览器而异。
即使敏感数据经过加密,应用程序也应避免将其保存在持久性cookie中。因为截获这些数据的攻击者可重新将其提交给应用程序。
应用程序应使用适当的缓存指令防止浏览器保存敏感数据。在ASP应用程序中,下面的指示将在服务器中包含必要的指令:
在Java应用程序中,可使用以下命令达到相同的目的:
应用程序决不能使用URL传送敏感数据,因为有许多位置都可能记录这些URL。应用程序应使用通过POST方法提交的HTML表单传送所有这些数据。
任何时候,如果用户在文本输入字段中填入敏感数据,都应在表单或字段标签中指定autocomplete=off属性。
其他客户端存储机制,如HTML5即将引入的新功能,将为应用程序提供实施重要功能的机会,包括更快速地访问特定的用户数据,并能够在网络访问不可用时继续工作。如果需要在本地存储敏感数据,最好是对这些数据进行加密,以防止攻击者直接访问它们。此外,应告知用户存储在本地的数据的本质,向他们警告攻击者本地访问这些数据的风险,以便其在需要时禁用此功能。