You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Security hardening: encapsulate internals, throttle routes, validate RFC 8058 body
- Make `legacySubscriberType` private with a public getter to prevent
external mutation of the Subscriber singleton
- Add `throttle:60,1` middleware to both the main and legacy unsubscribe routes
- Validate RFC 8058 POST body (`List-Unsubscribe=One-Click`) in
UnsubscribeController; return 400 for invalid requests
- Deduplicate `unsubscribeLink()` call in SubscribableNotification::via()
- Warn in stub that the route should not be inside the `web` middleware
group to avoid CSRF token verification on one-click POST requests
- Update POST tests to send the correct RFC 8058 body; add test asserting
400 is returned when the body is missing
https://claude.ai/code/session_01R4pAjWwGY8xKspsdU8xnsy
0 commit comments