رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
csrf validation و درگاه جهان پی
#1
سلام دوستان
درگاه جهان پی رو روی سایتم فعال کردم، ولی هنگام برگشت csrf رو خطا میده و تایید نمی کنه. تراکنش انجام می شه ولی توس سایت خودم و توی پنل جهان پی ثبت نمی شه چون callback صدا زده نمی شه
اومدم توی beforeAction بگم اگه متد verify صدا زده شد، csrf رو غیر فعال کن، ولی دیدم parent::beforeAction هم false بر می گردونه
حالا موقتا اون عملیات وصل شدن به درگاه و تایید بعد از درگاه رو توی یه کنترلر دیگه که کلا csrf روش غیر فعال هست گذاشتم و داره کار می کنه
خواستم ببینم کار اشتباهیه و اینکه مشکل csrf ام کلا چی هست؟

ممنون می شم راهنمایی کنید.
no pain, no gain
پاسخ
تشکر شده توسط:
#2
دوست عزیز CSRF Validation برای اطمینان از اینه که فرم در داخل وب سایت شما پر شده و داده ها از سایت شما ارسال شدن به کنترلر و از جای دیگه نمیان
وقتی از جهان پی ریدایرکت وجود داره چنین اتفاقی نمیفته و به خاطر همین به شما خطا میده
شما باید در کنترلر مربوطه enableCsrfValidation رو برابر با false قرار بدید
پاسخ
تشکر شده توسط: abdollah110110
#3
csrfValidation جزو فیلتهاست و همونطور که دوستمون گفتن، باید توی کنترلر مربوطه غیرفعالش کنید. چک کردن فیلترها قبل از beforeAction کنترلر رخ میده.
پاسخ
تشکر شده توسط: abdollah110110
#4
ممنون
اینکه parent::beforeAction($action) مقدار false بر می گردوند برای چیه؟
در حال حاضر کل عملیات ارسال به درگاه و تاییدش رو بردم توی یه کنترلر دیگه و کلا توی اون کنترلر csrf رو غیر فعال کردم
no pain, no gain
پاسخ
تشکر شده توسط:
#5
اگه false بده یعنی اکشن نباید اجرا بشه.
پاسخ
تشکر شده توسط:
#6
می تونم دلیلش رو پیدا کنم؟
یعنی امن نیست؟ مشکلی پیش میاد؟
no pain, no gain
پاسخ
تشکر شده توسط:
#7
این یه ابزاره برای شما. مثلاً اگه خواستین توی فیلتری که خودتون طراحی کردین، در شرایط خاصی اجازه نده اکشن اجرا بشه، کافیه return false کنید.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان