Tôi có hai ứng dụng cần nói chuyện với nhau qua HTTP. Một là một ứng dụng PHP và ứng dụng kia là ứng dụng chính của tôi, ứng dụng Rails. Tôi cần ứng dụng PHP để nói chuyện với ứng dụng Rails bằng cách POST dữ liệu vào nó, nhưng khi tôi làm vậy, tôi nhận được lỗi Token Authenticity Token. Có cách nào để khắc phục điều này? Hoặc làm cách nào để tôi tạo mã thông báo của riêng mình để chuyển qua POST để ứng dụng Rails của tôi xác thực?Rails 3 protect_from_forgery problems
6
A
Trả lời
15
Từ documentation for ActionController::RequestForgeryProtection::ClassMethods
Bạn có thể bỏ qua yêu cầu xác thực token hoặc bằng cách xác định và: trừ hoặc bằng cách buộc trước khi bộ lọc để được bỏ qua .... Ví dụ từ tài liệu ...
class FooController < ApplicationController
protect_from_forgery :except => :index
# you can disable csrf protection on controller-by-controller basis:
skip_before_filter :verify_authenticity_token
end
Các vấn đề liên quan
- 1. Làm cách nào để bỏ qua protect_from_forgery trong Rails 3 cho ứng dụng canvas Facebook?
- 2. protect_from_forgery & Không phô trương Javascript
- 3. Android NDK #define Problems
- 4. setTimeout/clearTimeout problems
- 5. Rails 3 Coffee Handler Thiếu
- 6. .NET/C# serial serialization problems
- 7. boost program_options multiple values problems
- 8. bash_completion cho Rails 3
- 9. jeditable and rails 3
- 10. Rails 3 yaml errors
- 11. Rails 3 Serialize
- 12. Rails 3 SSL Deprecation
- 13. Rails 3 autoload
- 14. Rails 3 và RJS
- 15. Rails 3 find_or_create_by
- 16. Rails 3 trên dreamhost?
- 17. Rails 3 & validate_on_create
- 18. Rails 3 run_callbacks phương pháp
- 19. Rails 3: tuyến đường subdomain
- 20. Rails 3: guides.rubyonrails.org bằng PDF?
- 21. Dịch JSON trong Rails 3
- 22. Rails 3: link_to và image_tag
- 23. Rails 3 Overriding Devise Mailer
- 24. Rails 3 Admin Namespace Issue
- 25. Phát hành cho Rails 3
- 26. Rails 3 Root Route issues?
- 27. testing_fu testing in rails 3
- 28. Rails 3: rollback cho after_create
- 29. Hiểu Rails 3's respond_with
- 30. Rails 3: xác thực form_tag
nó sẽ không được tốt hơn để lấy mã thông báo xác thực bằng một yêu cầu nhận riêng biệt và sau đó sử dụng nó để gửi biểu mẫu bằng cách sử dụng PHP? Việc vô hiệu hóa mã thông báo không phải là mối quan ngại về bảo mật? – Alex
Tôi đồng ý, bạn không nên tắt tính năng bảo vệ cho Chỉ mục và POST. Bất kỳ ai cố gắng thực hiện điều này nên theo gợi ý của Alex hoặc ít nhất sử dụng một hành động khác và đặt một số loại bảo mật khác như chấp nhận các yêu cầu đến từ một IP đã biết, sử dụng request.remote_ip để loại bỏ các IP không mong muốn. – martincho