تالار گفتمان nCIS.ir

نسخه‌ی کامل: csrf validation و درگاه جهان پی
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان
درگاه جهان پی رو روی سایتم فعال کردم، ولی هنگام برگشت csrf رو خطا میده و تایید نمی کنه. تراکنش انجام می شه ولی توس سایت خودم و توی پنل جهان پی ثبت نمی شه چون callback صدا زده نمی شه
اومدم توی beforeAction بگم اگه متد verify صدا زده شد، csrf رو غیر فعال کن، ولی دیدم parent::beforeAction هم false بر می گردونه
حالا موقتا اون عملیات وصل شدن به درگاه و تایید بعد از درگاه رو توی یه کنترلر دیگه که کلا csrf روش غیر فعال هست گذاشتم و داره کار می کنه
خواستم ببینم کار اشتباهیه و اینکه مشکل csrf ام کلا چی هست؟

ممنون می شم راهنمایی کنید.
دوست عزیز CSRF Validation برای اطمینان از اینه که فرم در داخل وب سایت شما پر شده و داده ها از سایت شما ارسال شدن به کنترلر و از جای دیگه نمیان
وقتی از جهان پی ریدایرکت وجود داره چنین اتفاقی نمیفته و به خاطر همین به شما خطا میده
شما باید در کنترلر مربوطه enableCsrfValidation رو برابر با false قرار بدید
csrfValidation جزو فیلتهاست و همونطور که دوستمون گفتن، باید توی کنترلر مربوطه غیرفعالش کنید. چک کردن فیلترها قبل از beforeAction کنترلر رخ میده.
ممنون
اینکه parent::beforeAction($action) مقدار false بر می گردوند برای چیه؟
در حال حاضر کل عملیات ارسال به درگاه و تاییدش رو بردم توی یه کنترلر دیگه و کلا توی اون کنترلر csrf رو غیر فعال کردم
اگه false بده یعنی اکشن نباید اجرا بشه.
می تونم دلیلش رو پیدا کنم؟
یعنی امن نیست؟ مشکلی پیش میاد؟
این یه ابزاره برای شما. مثلاً اگه خواستین توی فیلتری که خودتون طراحی کردین، در شرایط خاصی اجازه نده اکشن اجرا بشه، کافیه return false کنید.