面试题答案
一键面试跨域问题对安全认证的影响
- CSRF攻击风险增加:跨域环境下,恶意网站可能利用用户在授权服务器已登录的状态,构造恶意请求,诱导用户点击,从而在用户不知情的情况下完成授权操作,因为浏览器会自动带上用户的认证凭证(如cookie)。
- 信息泄露风险:不同域之间可能存在恶意脚本嵌入风险。若授权服务器响应被恶意脚本拦截,可能获取到授权码、令牌等敏感信息,导致用户认证信息泄露,攻击者可利用这些信息冒充用户访问受保护资源。
- 信任边界模糊:联邦架构涉及多个不同域的服务器交互,使得信任边界变得复杂。错误的跨域配置可能导致非授权域获得不应有的访问权限,破坏认证流程的完整性。
解决方案 - CORS(跨域资源共享)
- 实现方式:在授权服务器端配置CORS相关响应头。例如,设置
Access-Control-Allow-Origin
头指定允许跨域请求的源,Access-Control-Allow-Methods
指定允许的HTTP方法(如GET、POST等),Access-Control-Allow-Headers
指定允许的请求头。 - 优点:
- 简单易用:只需在服务器端进行少量配置,对现有业务逻辑侵入较小。
- 兼容性好:现代浏览器大多支持CORS机制,能有效解决大部分跨域场景问题。
- 缺点:
- 安全配置要求高:若配置不当,如
Access-Control-Allow-Origin
设置为通配符*
,会极大增加安全风险,易导致信息泄露。 - 无法防止CSRF攻击:CORS本身并不能防止CSRF攻击,仍需结合其他防护手段(如CSRF令牌)。
- 安全配置要求高:若配置不当,如