Tôi đang viết một ứng dụng phụ trợ với REST API cho iPhone và Android. Đó là một API nội bộ.Cách tốt nhất để triển khai API REST đăng ký cho iPhone/Android là gì?
Tại thời điểm này, tôi đang cố triển khai API đăng ký người dùng để người dùng có thể đăng ký từ ứng dụng dành cho thiết bị di động.
Tôi đang viết bằng cách sử dụng Django và với Django họ đi kèm với Cross Site Request Forgery cho yêu cầu web. Tôi phải tắt nó cho REST API, sử dụng django-piston.
Vậy làm cách nào để tôi có thể bảo vệ API đăng ký của mình khỏi spam? ga? Captcha? thực hành tốt nhất để triển khai API đăng ký là gì? lỗ hổng là gì?
Một đề xuất đã đưa ra là tải chế độ xem web trên ứng dụng dành cho thiết bị di động và có biểu mẫu đăng ký web di động để CSRF có thể được triển khai. Đó là giải pháp nhưng không phải là giải pháp gọn gàng vì tôi phải tạo trang thiết kế cho từng thiết bị di động hoặc một thiết bị chung có thể không phù hợp trên tất cả các thiết bị.
Nhiều trợ giúp được đánh giá cao.
Chúc mừng, Mickey
chỉ tò mò, lý do tại sao captcha không thể được sử dụng ở cấp API REST? –
Chắc chắn là có thể, nhưng bạn phải có được hình ảnh xác thực thông qua REST, hiển thị nó cho người dùng và sau đó nhận được câu trả lời trong cuộc gọi tiếp theo. Tôi tìm thấy một cái gì đó của nó một API không phải là lý tưởng cho, khi bạn cần một phiên. Tôi không muốn giữ trạng thái giữa các cuộc gọi API. Có lẽ nó chỉ là tôi mặc dù. –
Đồng ý với các cuộc gọi API không trạng thái (là một trong những nguyên tắc cơ bản của REST!). Tuy nhiên, nếu bạn đang tung ra các dữ liệu capcha của riêng mình thì không có lý do gì khiến bạn không thể trả lại "mã thông báo" (ví dụ: băm MD5 của câu trả lời) cùng với URI hình ảnh xác thực. Sau đó, hãy tải ứng dụng dành cho thiết bị di động của bạn để xác minh bằng API bằng cách gửi câu trả lời của người dùng cùng với băm ban đầu mà họ đã được phát hành. –