Asked Dec 1st, 2018 1:17 PM 235 0 2
  • 235 0 2
0

Ứng dụng Api

Share
  • 235 0 2

Dạ em chào các anh chị.

Em hiện đang thực hiện 1 đồ án tại trường về ruby on rails

Ở đây là Rails 5 Api. Trước giờ đi học em chưa có làm về Api, nhưng tự search rồi lên viblo đọc cũng đã mày mò làm được để cho ra được cái ứng dụng rất basic gồm có Rails Api ở backend và fontend thì em vừa tạo được template bằng react.

Hiện giờ em đang trong quá trình (mới chuẩn bị thôi) ráp api vào fontend. Nhưng em có một thắc mắc hơi ngu và cũng chưa biết từ khoá google sao cho hợp lý.

Đó là em chưa biết và không hiểu quy trình quản lý ứng dụng api như nào?

Api em viết ra giờ em chỉ muốn xài cho mình cái app fontend của em thôi (không muốn người khác/ứng dụng khác có thể sử dụng). Vậy thì em có thể làm như nào?

hoặc là có 1 vài api em chỉ muốn cho app fontend của em gọi được, nhưng 1 vài api khác thì em muốn public cho ai cũng có thể xài được...

Mong anh chị giúp đỡ, cái việc quản lý này em hiện tại rất mơ hồ và cũng không biết search sao cho hợp lý.

2 ANSWERS


Answered Dec 3rd, 2018 9:03 AM
0

Bạn search thử API authentication và API Authorization. Đây là hai keyword liên quan đến thứ bạn đang hỏi. Bạn cố gắng tìm đúng tài liệu để đọc chứ thực sự những gì bạn đang hỏi cũng là một vấn đề khá lớn.

Share
Answered Nov 16th, 2020 8:54 AM
0

Rất tiếc là không có cách hợp lý nào để bạn giới hạn hay bảo vệ public API của bạn khỏi bị người khác sử dụng cả. Ở phía trình duyệt thì mặc định đã có CORS, và bạn có thể gửi kèm theo CORS header từ API của bạn để hạn chế trình duyệt chỉ cho API được fetch từ những domain trong whitelist mà bạn mong muốn. Tuy nhiên, đấy chỉ là với trình duyệt, còn bất cứ ai cũng có thể truy cập API từ bất cứ chương trình/script nào khác ở trên máy.

Bạn có thể tự làm vài cách khác để bảo vệ (hay đúng hơn là làm rối) như: thường xuyên thay đổi API, mã hoá json trả về của API và giải mã nó ở phía app SPA của bạn,... nhưng hiệu quả thấp và chỉ làm ứng dụng rắc rối thêm.

Cách tốt nhất là bạn không cần quan tâm đến bảo vệ public API, thay vào đó là luôn cho rằng bất cứ ai cũng dùng được API của bạn và tránh để vào đó thông tin nhạy cảm, và coi app SPA của bạn như bao client khác và thêm những giới hạn cho nó phù hợp (rate limit,...).

Share
Viblo
Let's register a Viblo Account to get more interesting posts.