Đánh giá mức độ bảo mật của ứng dụng. Tick vào các hạng mục đã hoàn thành. Mỗi mục có mega prompt để thực hiện tất cả cùng lúc.
🚀 Mega Prompt — Thực hiện tất cả cùng lúc
Hãy giúp tôi thiết lập bảo mật xác thực và phân quyền đầy đủ cho ứng dụng Lovable của tôi:
1. Bật Lovable Cloud Auth với email + Google sign-in
2. Tạo bảng user_roles riêng biệt (KHÔNG lưu role trên bảng profiles):
- Tạo enum app_role ('admin', 'moderator', 'user')
- Tạo bảng user_roles với user_id references auth.users
- Bật RLS trên bảng user_roles
3. Tạo function has_role() với SECURITY DEFINER để check role an toàn
4. Thiết lập session validation phía server bằng createServerFn — không tin tưởng localStorage hay sessionStorage
5. Thêm rate limiting cho login endpoint (tối đa 5 lần thử trong 15 phút)
6. Cấu hình password policy: tối thiểu 8 ký tự, phải có chữ hoa, chữ thường, số và ký tự đặc biệt
Đảm bảo mọi thứ hoạt động ở cả client và server side.🚀 Mega Prompt — Thực hiện tất cả cùng lúc
Hãy thiết lập Row Level Security (RLS) đầy đủ cho tất cả các bảng trong ứng dụng Lovable của tôi: 1. Kiểm tra và BẬT RLS cho MỌI bảng trong database — không bảng nào được bỏ qua 2. Tạo RLS policies cho từng bảng: - SELECT: users chỉ đọc được dữ liệu của mình (auth.uid() = user_id) - INSERT: users chỉ tạo dữ liệu cho mình - UPDATE: users chỉ sửa dữ liệu của mình - DELETE: users chỉ xóa dữ liệu của mình 3. Tạo function has_role() với SECURITY DEFINER để kiểm tra quyền admin mà không gây recursive RLS 4. Đảm bảo service_role key KHÔNG BAO GIỜ xuất hiện trong code client-side 5. Test các policies bằng cách: - Thử truy cập data của user khác → phải bị chặn - Thử truy cập với role admin → phải được phép - Thử truy cập khi chưa đăng nhập → phải bị chặn Liệt kê tất cả các bảng hiện có và tạo policies phù hợp cho từng bảng.
🚀 Mega Prompt — Thực hiện tất cả cùng lúc
Hãy bảo mật toàn bộ API keys và secrets trong ứng dụng Lovable của tôi: 1. Kiểm tra TOÀN BỘ codebase và tìm mọi API key, secret, token đang bị hardcode 2. Di chuyển tất cả private keys vào Lovable Cloud Secrets (KHÔNG dùng prefix VITE_ cho private keys) 3. Tạo server functions (createServerFn) cho mọi logic cần API keys: - Gọi API bên thứ 3 (Stripe, OpenAI, SendGrid...) - Xử lý payment - Gửi email 4. Đảm bảo các biến môi trường: - VITE_* → chỉ dùng cho publishable/public keys (ví dụ: Stripe publishable key) - Không có VITE_ → private keys, chỉ server đọc được 5. Thiết lập quy trình rotate keys mỗi 90 ngày 6. Xóa mọi API key khỏi git history nếu đã từng commit Liệt kê tất cả các keys tìm thấy và hướng dẫn di chuyển từng cái.
🚀 Mega Prompt — Thực hiện tất cả cùng lúc
Hãy ẩn hoàn toàn dấu vết Lovable khỏi ứng dụng của tôi: 1. Xóa tất cả meta tags liên quan đến Lovable: - Xóa meta tag author="Lovable" - Xóa meta tag twitter:site nếu trỏ về Lovable - Xóa mọi comment HTML chứa "Lovable" hoặc "lovable" 2. Ẩn badge "Edit with Lovable" (cần Pro plan — kiểm tra và hướng dẫn) 3. Thiết lập custom domain thay vì dùng *.lovable.app 4. Xóa file public/placeholder.svg và tất cả references đến nó 5. Kiểm tra source code và xóa mọi string "lovable", "Lovable" không cần thiết 6. Thay đổi các header HTTP mặc định nếu có chứa thông tin Lovable 7. Đổi favicon và branding thành của riêng tôi Sau khi hoàn thành, kiểm tra lại bằng cách view-source và DevTools để xác nhận không còn dấu vết.
🚀 Mega Prompt — Thực hiện tất cả cùng lúc
Hãy bảo mật toàn bộ API endpoints và tích hợp bên ngoài của ứng dụng Lovable: 1. Thiết lập webhook signature verification cho TẤT CẢ incoming webhooks: - Stripe webhooks: verify với stripe-signature header - Các webhook khác: verify HMAC signature - Tạo server function riêng để xử lý webhooks 2. Thêm input validation bằng Zod cho MỌI user input: - Form submissions - URL parameters - Query strings - Request body trong server functions 3. Cấu hình CORS đúng cách: - Chỉ allow các domain cần thiết (domain chính + staging) - Không dùng wildcard (*) trong production - Cấu hình allowed methods và headers cụ thể 4. Đảm bảo HTTPS everywhere: - Tất cả API calls phải dùng https:// - Redirect HTTP → HTTPS - Kiểm tra mixed content warnings Liệt kê tất cả endpoints hiện có và áp dụng bảo mật cho từng cái.
🚀 Mega Prompt — Thực hiện tất cả cùng lúc
Hãy bảo mật database của ứng dụng Lovable: 1. Xác nhận encryption at rest đã được bật (Lovable Cloud tự động hỗ trợ) 2. Kiểm tra và sửa tất cả queries trong codebase: - Thay thế mọi SELECT * bằng chỉ select các columns cần thiết - Thêm .limit() cho các query có thể trả về nhiều rows - Sử dụng parameterized queries, KHÔNG dùng string concatenation 3. Thiết lập backup strategy: - Hướng dẫn export data định kỳ (hàng tuần) - Tạo server function để export data quan trọng 4. Mã hóa PII (Personally Identifiable Information): - Xác định các columns chứa PII (email, phone, address, CCCD...) - Mã hóa các columns này trước khi lưu - Tạo function decrypt chỉ khi cần hiển thị 5. Thêm audit log cho các thao tác nhạy cảm (xóa data, thay đổi role...) Liệt kê tất cả bảng hiện có và đánh giá mức độ bảo mật từng bảng.