Yes, implementing confirmation dialogs is a good practice to mitigate CSRF security risks in Salesforce. Here's how:
1. **Visualforce Pages**: Enable the `confirmationTokenRequired` metadata field to ensure GET requests require a CSRF token in the URL, preventing unauthorized state changes or DML operations during page initialization.
2. **User Interaction**: Require explicit user actions, like button clicks, to trigger state changes or DML operations in Apex controllers for Lightning or LWC components.
By requiring user interaction, like clicking a button or confirming an action, you reduce the risk of automated or unauthorized state changes. These measures effectively reduce the risk of CSRF attacks.