تجنب هجمات CSRF عن طريق إنشاء نموذج باستخدام JavaScript على CakePHP

StackOverflow https://stackoverflow.com//questions/12706062

سؤال

وثائق CakePHP يقول لتجنب هجمات CSRF من الضروري تضمين ملف حماية المكون في وحدة التحكم، وبالإضافة إلى ذلك، قم بإنشاء النموذج باستخدام ملف FormHelper.

في حالتي، أحتاج إلى إنشاء بعض حقول النماذج (مثل منطقة النص) باستخدام JavaScript (jQuery) وبالتالي لا يمكنني استخدام FormHelper لها.

$('#body').html('<textarea name="data[post][body]" type="textarea" cols="30" rows="3">'+text+'</textarea>');

وبالطبع لا يجتاز الأمان ويفشل في تقديم النموذج.

هل يمكنني بأي حال من الأحوال إنشاء نموذج آمن لإنشاء بعض الحقول باستخدام JavaScript؟

شكرًا.

هل كانت مفيدة؟

المحلول

حسنًا، أحد الخيارات المتاحة أمامك هو فتح هذه الحقول بحيث يتم تجاهلها أثناء فحص الأمان.من وجهة نظرك اكتب:

<?php $this->Form->unlockField('fieldname'); ?>

هناك خيار آخر يتمثل في إنشاء حقول النموذج التي تريد إضافتها ديناميكيًا باستخدام مساعد النموذج في منطقة مخفية من النموذج وإظهارها فقط إذا لزم الأمر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top