
Open Source, #PHP, #Symfony Developer. Writer @SymfonyCasts, @Symfony Core Member. Author of https://nitter.cf/t.co/MK05b2VaRK packages.
Kitchener, Ontario, Canada
Joined March 2009
- Tweets1.3K
- Following269
- Followers918
- Likes2.8K
๐ New in Symfony 8.2: Security Expressions Everywhere
โก๏ธ symfony.com/blog/new-in-symfโฆ
Kevin Bond retweeted
AI makes generating code easier. Making sure it works as expected, thatโs where testing comes in.
Join Diego's workshop "TDD the Right Way" at SymfonyCon Warsaw next month and put that code to the test!
๐ Join the workshop โ live.symfony.com/2026-warsawโฆ
Super excited about this new Symfony 8.2 feature!
Controller attributes like `#[IsCsrfTokenValid]` and `#[RateLimit]` can now pass failures to your controller instead of throwing exceptions.
Convenient attributes AND user-friendly feedback!
github.com/symfony/symfony/pโฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #13
Login is throttled, but how do we stop a bot from registering 1000's of accounts? Let's configure a rate limiter by hand and put a hard cap on how often someone can sign up! ๐ฆ symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #12
Want stronger passwords - and a way to reject any that have already leaked in a data breach? Symfony ships a constraint for each, and we'll bundle them into one reusable constraint of our own! symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #11
Need a change password form? Let's reuse the one the reset password maker already wrote for us, then ask for the current password too - with a very cool built-in constraint! symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #10
Need a forgot password flow? There's a maker for that! Let's generate the whole thing, log the user in automatically after a reset, and see how it avoids leaking who has an account! symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #9
Let's swap the built-in switch_user role for a custom attribute, let a voter make the call, & see how to check the permissions of any user - not just the one logged in. And, now our admins can't impersonate each other! symfonycasts.com/screencast/โฆ
๐ New in Symfony 8.2: Single-Use and Safer Signed URLs
โก๏ธ symfony.com/blog/new-in-symfโฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #8
Let's give users the choice to log in with their email or username! We'll add unique usernames, update our login form, and teach Symfony how to find users by either one. symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #7
After logging in, users should return to the page they were on, not the homepage! Let's use Symfony's _target_path to send them right back where they left off, making the login experience a little smoother! symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #6
Need a super admin who can do (almost) anything? Let's build a custom voter that grants sweeping permissions across our app, while making sure important authentication checks still behave normally! symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #5
Ever notice how GitHub asks you to confirm your password before sensitive actions? Let's build that same "sudo mode" in Symfony, requiring full authentication with a smooth password confirmation flow! symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #4
Wrong password, unknown email, disabled account... your login form answers all three with "Invalid credentials." That's deliberate. Let's decide how much we actually want to give away. symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
Symfony Cache Contracts have a sneaky little trick ๐
Use `beta: INF` to force-refresh a cached value without deleting the old one first - so other requests can keep using it while the fresh value is computed.
See how it works ๐
symfonycasts.com/blog/symfonโฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #3
Disabling an account blocks the next login... but a user already browsing doesn't even notice. Let's show them the door mid-click. ๐ symfonycasts.com/screencast/โฆ
Kevin Bond retweeted
๐ Symfony Security: Going Further #2
Deleting a user is forever. Sometimes you just want to switch them off. Let's teach our login to check more than the password. symfonycasts.com/screencast/โฆ
๐ New in Symfony 8.2: Attribute-based Forms
โก๏ธ symfony.com/blog/new-in-symfโฆ
Kevin Bond retweeted
๐ New on the blog: our ideal GitHub Actions setup for Symfony apps!
Tests, linting, PHPStan, code style, database/schema checks, Symfony-aware diagnostics, asset compilation, plus a scheduled Composer security audit.
A solid CI baseline you can actually build from:
symfonycasts.com/blog/ideal-โฆ
Kevin Bond retweeted
๐จ New Course ๐จ
๐ Symfony Security: Going Further #1
A 403 status code tells us we don't have access... but it also tells us the thing exists. Let's borrow the trick GitHub uses on private repositories ๐ symfonycasts.com/screencast/โฆ



