我遇到一个问题,我需要对来自位于单独服务器,数据库并使用JSP构建的域的用户执行身份验证检查。
以下是该流程的快速概述:
domain1.com(用户访问此页面以登录该站点以获取他们需要的内容。使用J2EE会话ID)
domain2.com(用户可以检索使用ColdFusion构建的数据的内容区域10.特定于每个帐户的数据将传递到URL
例如,
domain2.com/content/content.cfm?customerID=12345
domain2.com/content/content.cfm?customerID=12345&pageid=AB12&type=CID1
问题是,只需输入URL,任何人都可以访问domain2而无需通过domain1.com登录。什么是最佳安全实践,以验证最初从与ColdFusion环境完全不同的平台上托管的域进行身份验证的会话?
答案 0 :(得分:1)
最佳实践:您必须使用可共享资源在多个环境之间进行正确身份验证,例如数据库或可由其访问的Web服务。这是唯一安全的方式。
安全隐患:加密domain1.com上的登录信息(例如客户身份),并将加密后的令牌传递给domain2.com(重定向时)。确保在加密令牌中使用具有随机内容和过期时间戳的填充,以防止重用令牌。 domain2.com可以轻松解密令牌并从那里处理登录。在这种情况下,可共享资源是用于加密/解密令牌的密钥。 AES是一个良好的开端。