0

我正在处理 AJAX 登录表单。在提交时,它将登录数据发送到后端。如果登录有问题,则会返回适当的响应。当登录数据有效时,后端为用户创建一个会话并发送回一个 URL,用户应该被重定向到该 URL。我想返回 URL,因为它会根据多个用户设置(语言、个人/企业等)而变化。

我是否忽略了这种方法的任何安全问题?当浏览器信任从 AJAX 调用返回的 URL 时,攻击者是否可以将用户重定向到恶意网站?

4

1 回答 1

2

不,这是通过异步处理程序处理登录的一种非常标准的方法(假设您通过 HTTPS 执行此操作,如果不是,则所有赌注都已关闭)。

是的,如果您允许攻击者设置重定向的去向,攻击者就有可能重定向用户。

因此,这意味着您应该验证您要重定向的任何用户输入(因此可能是攻击者设置)的 URL,以确保它们是安全的。基本上确保 URL 在您的域中,并确保它是有效的 URL。您可以更深入(检查 XSS 样式攻击等),但只要您在应用程序的其余部分练习良好的安全实践,通常就不必这样做。

但话又说回来,这只是基本的应用程序安全Filter-In, Escape-Out。所以过滤输入的URL,你应该没问题...

于 2013-06-20T15:31:21.770 回答