Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to stateless CSRF protection algorithm #15

Closed
samdark opened this issue Dec 7, 2020 · 1 comment
Closed

Switch to stateless CSRF protection algorithm #15

samdark opened this issue Dec 7, 2020 · 1 comment
Labels
status:ready for adoption Feel free to implement this issue. type:enhancement Enhancement

Comments

@samdark
Copy link
Member

samdark commented Dec 7, 2020

We currently use syncronizer pattern from https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#synchronizer-token-pattern. It is stateful. Switching to any stateless pattern would make starting a session obsolete.

See #12

@samdark samdark added status:ready for adoption Feel free to implement this issue. type:enhancement Enhancement labels Dec 7, 2020
@samdark samdark changed the title Switch to staeless CSRF protection algorithm Switch to stateless CSRF protection algorithm Dec 7, 2020
@mj4444ru
Copy link

mj4444ru commented Dec 7, 2020

This implementation should be done as an alternative, not as the main one.

In fact, to generate a token, instead of a random sequence stored in a session, a session identifier is required.

For single page applications, this can be a problem. Any call to the page with the session, the session and the token are extended. In the new version, we will have to constantly update the client token, which can complicate the implementation of the application. In several separate browser tabs, updating the token becomes completely impossible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:ready for adoption Feel free to implement this issue. type:enhancement Enhancement
Projects
None yet
Development

No branches or pull requests

2 participants