2012-04-26 17 views
5

Tôi đang phát triển một ứng dụng Android giao tiếp với máy chủ đường ray. Tôi không muốn bỏ qua tính xác thực nhưng tôi cũng không nghĩ rằng đó là câu trả lời đúng. Có thể làm gì để bảo vệ các yêu cầu POST của tôi?Authenticity_token trong Rails + Android

Trả lời

5

Rất hiếm khi yêu cầu mã thông báo xác thực khi bạn sử dụng API, như bạn làm cho ứng dụng Android; điều này là do mã thông báo xác thực được tạo để bảo vệ chống lại cross-site request forgery attacks, chỉ có thể thực hiện được với phiên ... và thường là nếu bạn đang truy cập API bạn không (hoặc không thể) sử dụng phiên. Vì vậy, tôi sẽ không quá lo lắng về việc tạo các thẻ xác thực ở đây.

Để bảo vệ POST của bạn - hoặc thực sự bất kỳ yêu cầu nào - có một số tùy chọn có sẵn cho bạn. Đơn giản nhất là xác thực từng yêu cầu với HTTP basic và phức tạp hơn nhưng được cho là an toàn hơn sẽ thực hiện OAuth. Dù bằng cách nào cũng sẽ cung cấp một số bảo mật cho những người đang sử dụng ứng dụng của bạn và kết nối với trang web của bạn.

+0

Cảm ơn câu trả lời nhanh của bạn. Bạn vừa xác nhận dự đoán của tôi. Đó là một dự án trường học vì vậy an ninh không phải là vấn đề chính. Tôi đang sử dụng Devise nên tôi sẽ cố gắng làm việc với điều đó để mã hóa thông tin liên lạc của tôi. Chỉ muốn chắc chắn rằng tôi đã không bỏ lỡ điều gì đó. Một lần nữa xin cảm ơn. – jmpenetra

+1

Không sao cả! Nếu câu trả lời của tôi đã giúp, hãy đánh dấu nó là câu trả lời chính xác; thì mọi người sẽ có nhiều khả năng giúp bạn trên Stackoverflow hơn trong tương lai. – Veraticus

+0

Tôi đã tìm kiếm về triển khai API trong những ngày này, tất nhiên đây là chủ đề tốt cho câu hỏi khác ... giả sử tôi yêu cầu xác thực cơ sở HTTP cho cuộc gọi API và ứng dụng đang sử dụng HTTPS, luôn có vấn đề với mật khẩu hơi rõ ràng trong thiết bị, đúng không? –