Bảo mật đường dẫn và thông tin



  • Mọi người cho mình hỏi cái này.

    Giả sử mình có 4 hàm là: Insert, Update, Delete, GetAll tương ứng mình gán cho các phương thức là Post - Insert, Put - Update, Delete - Delete, Get - GetAll. Vấn đề mình thắc mắc là nếu như mình public ra dạng API và dùng Jquery Ajax hay là AngularJS Ajax để tương tác với các hàm này và khi người dùng xem source HTML bằng Firebug chẳng hạn, thì họ sẽ thấy được URL của API của mình và họ có thể tương tác với API của mình mà không thông qua trang web của mình.

    Vậy cho mình hỏi là có cách nào để API nhận biết là tương tác đó là từ một sự kiện trên trang web của mình và không cho phép các tương tác từ bên ngoài không ?

    Mình có tìm hiểu thì được biết có một số cách như là dùng Token, Auth0 ... nhưng thật sự mình rất mơ hồ và không có hướng rõ ràng.

    Mong các bạn hổ trợ mình ! Cám ơn bạn đã xem qua !



  • Một khi bạn đã publish API, thì bạn không thể ngăn cấm người khác gọi trực tiếp API của bạn. Với những API đòi hỏi chứng thực (authentication) thì đòi hỏi web client phải cung cấp token, cookie,... Đối với public API như đăng nhập (login), đăng ký (register) thì chúng ta có thể hạn chế số lần họ gọi API thông qua một kỹ thuật gọi là rate limit.



  • Cám ơn bạn đã quan tâm câu hỏi của mình !


Log in to reply