Prove the request is genuine
CSRF works because a cookie travels automatically; the defences add something that does not:
Tip: Require an unpredictable per-session CSRF token on every state-changing request and reject requests without it; set session cookies
SameSite=LaxorStrictso they aren't sent on cross-site requests; and verify theOrigin/Refererfor sensitive actions. Use POST for changes — but POST alone is not a defence.