XSS漏洞防护

XSS vulnerability protection

XSS 漏洞被利用是因为浏览器存储带有会话 ID 的 cookie,因此对您登录站点的 URL 的任何访问都具有登录用户的权限。

如果我们不使用 cookie,而是通过 URI 登录用户,通过在 URI 本身上添加会话,会怎么样?像这样:

http://domain.com/123456/index.php?mailbox=Inbox

这里的“123456”是会话ID。对于攻击者来说,通过这种方式利用XSS,难度会大很多,因为没有设置cookie,也没有办法访问用户的URI历史。

缺点是当您向用户发送任何页面时,您必须在每个 link 的 URI 上传播会话 ID,如果丢失,用户将自动注销。但这会更安全。

此解决方案可以防止 XSS 漏洞吗?

你说的是 CSRF 而不是 XSS。

防止 CSRF 的推荐方法是使用 Synchronizing Token Pattern

将会话 ID 放在 URL 中是个坏主意。这意味着您无法安全地添加书签或共享 URL。