Cho mình hỏi về xác thực người dùng bằng Json Web Token trong PHP
Mình generate ra một cái token: (token1) xài thư viện firebase/php-jwt.
Sau đó mình dùng debuger trên trang jwt.io để decode cái token, sau đó mình thay đổi một giá trị trong payload (Ví dụ thay đổi user id) Và encode trở lại (Cũng dùng debuger jwt.io) được cái token khác: token2
Mình dùng cái token2 để lấy thông tin từ server, và kết quả là nó cho phép luôn!
Điều này rất nguy hiểm khi chỉ cần có secret key thì người ta có thể truy cập tài nguyên của bất kỳ user nào.
Vậy cho mình hỏi là có cách nào ngăn chặn điều đó không?
Ngặn chặn bằng cách không cho ai xem cái secret key, thế thôi.
Đã gọi là secret key rồi mà người khác vẫn lấy được nó thì bạn phải kiểm tra lại code của bạn.