HTTP üzerinden birbirleriyle konuşması gereken iki uygulama var. Bir PHP uygulaması ve diğeri benim ana uygulaması, Rails uygulaması. Ben veriyi POSTing tarafından Rails uygulamasıyla konuşmak için PHP uygulamasına ihtiyacım var, ama yaptığımda Geçersiz Orijinallik Simgesi hatası aldım. Bunun etrafında zaten var mı? Ya da Rails uygulamasının doğrulanması için POST'u geçmek için kendi belirteçimi nasıl oluşturabilirim?Raylar 3 protect_from_forgery sorunları
6
A
cevap
15
documentation for ActionController::RequestForgeryProtection::ClassMethods
itibaren
Ya belirterek ve kimlik doğrulama belirteci gereksinimi atlayabilirsiniz: haricinde veya filtre öncesi zorlayarak atlanmasına .... belgelerinden Örnek ...
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
Özgünlük belirtecini ayrı bir istek isteğiyle almak daha iyi olmaz mı ve sonra PHP kullanarak formu göndermek için bunu kullanmak daha iyi olmaz mı? Belirteci devre dışı bırakmak bir güvenlik sorunu değil mi? – Alex
Katılıyorum, Index ve POST için korumayı devre dışı bırakmamalısınız. Bunu yapmaya çalışan herkes, Alex'in önerisini takip etmeli veya en azından farklı bir eylemi kullanmalı ve istenmeyen IP'leri atmak için request.remote_ip komutunu kullanarak sadece bilinen bir IP'den gelen istekleri kabul etmek gibi başka bir tür güvenlik sağlamalıdır. – martincho