كيف يمكنني إيقاف حماية CSRF في تطبيق Rails؟
-
02-07-2019 - |
سؤال
يتسبب منع CSRF المدمج في Rails في حدوث بعض المشكلات لبعض اختبارات التحميل الآلية التي نقوم بها، وأريد إيقاف تشغيله طوال مدة العملية.كيف أقوم بهذا العمل؟
المحلول
أحب الأسئلة البسيطة ذات الإجابات الواضحة.
#I go in application.rb
self.allow_forgery_protection = false
إذا كنت تريد القيام بذلك للاختبار فقط، فيمكنك نقل ذلك إلى أحد ملفات البيئة (من الواضح أنك ستلمس Application
ثم بدلا من self
).يمكنك أيضًا كتابة شيء مثل:
#I still go in application.rb
self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
يرى هنا للتفاصيل.(استمرارًا لتقليد Rails الرائع المتمثل في الحصول على توثيق للميزات الأساسية في منشورات مدونة عمرها عامين، والتي تم استخلاصها من سجلات الالتزام.)
نصائح أخرى
في Rails 3، قم بإزالة ملف protect_from_forgery
الأمر في app/controllers/application_controller.rb
لا تنتمي إلى StackOverflow