我正在撰写一个小型网站,该网站应该使用需要我存储令牌的身份验证系统。在本阶段将它存储在localStorage对我来说是最方便的选择,但据我了解,这可能容易受到XSS攻击。现在,安全要求不是很严格(成功的攻击不会暴露出特别敏感的数据,登录只是用来跟踪谁在现场做什么),并且不应该有用户生成的内容网站(没有评论等),无论如何它都通过Angular.js。这听起来像单独使用localStorage一样合理安全,还是我还应该考虑在cookie旁使用它以增加安全性?谢谢!
答案 0 :(得分:1)
如果您没有显示任何用户内容(甚至用户登录以显示登录的人员),标准XSS攻击对您来说应该不是问题。
Hovewer,确保您没有最简单的用户生成内容。如果您正在显示来自某些数据源的某些数据,那么这也是不值得信任的。如果您要显示用户登录信息,则应确保在使用前正确清理登录信息。用户登录可能包含攻击代码。 Angular.js可以帮助您使用$ sanitize。还要注意,总是存在自我xss的风险。
LocalStorage是一个很好用的地方。 Hovewer,您应该验证令牌是否可以安全使用 - 它可能已过期或无效(例如,当您的Angular.js应用程序启动时,您可以通过调用API来验证令牌)。