আমার বর্তমানে সামনের ফর্মগুলির সাথে সমস্যা রয়েছে যেখানে ফর্ম কীগুলি কোনওভাবে ওভাররাইট করা হচ্ছে এবং ভুল ফর্ম কীগুলি প্রদর্শন করছে। আমি বর্তমানে গ্রাহক লগইন ফর্ম এ এই সমস্যাটি ডিবাগ করছি।
এটি লগইন.এফটিএমটিএলে কোডটির স্ন্যাপশট, এটি ফর্মকি মানটি কী তা দেখার জন্য আমি সেটআপ করি।
<?php
$retrievedKey = $block->getBlockHtml('formkey');
echo $retrievedKey ;
// i made a breakpoint and inspected $retrievedKey, it returned a html output <input> ... </input> with a form key value of, let's name it 'keyA'.
?>
ঠিক আছে তাই এখন আমি কোড সম্পাদন চালিয়ে যাওয়ার পরে, এটি পৃষ্ঠাটি সাফল্যের সাথে রেন্ডার করে।
এবং এখন আমি আমার ক্রোম ব্রাউজারে ফর্ম কী লুকানো ইনপুটটি পরিদর্শন করতে যাই, তবে এটি ' কীএ ' থেকে সম্পূর্ণ আলাদা ফর্ম কী প্রিন্ট করে । আসুন এই নতুন ফর্ম কীটির নাম ' কীবি ' দিন।
এখন আমি চেষ্টা করে লগইন করে ফর্মটি জমা দিই। আমি প্রেরিত অনুরোধটি পরিদর্শন করেছি এবং এটি সত্যই 'কীবি' প্রতিবিম্বিত মানের একটি মূল কী ভেরিয়েবল পাস করে।
এর ' বৈধতা ' ফাংশনে আমি কিছু ব্রেকপয়েন্ট রেখেছি
Magento \ ফ্রেমওয়ার্ক \ ডেটা \ ফরম \ FormKey \ ভ্যালিডেটার
এটি আমার তুলনা পরীক্ষক। ডানদিকে, $ formKey এবং $ a এর সাথে মিল থাকা উচিত। তবে তা হয় না।
$formKey = $request->getParam('form_key', null); // outputs 'KeyB'
$a = $this->_formKey->getFormKey(); // outputs 'KeyA'
সুতরাং, বৈধতা ব্যর্থ হয়, এবং এটি আর কখনও ত্রুটি বার্তা ছাড়াই আমাকে লগইন পৃষ্ঠায় পুনর্নির্দেশ করে ।
বিষয়গুলি নোট করুন:
- এই আচরণটি কেবল ক্রোম এবং মাইক্রোসফ্ট EDGE এ দেখা দেয়।
- ফায়ারফক্স ঠিকঠাক কাজ করে, কোনও ওভাররাইটিং ঘটছে না
- যে ফর্ম কীটি মুদ্রিত হয়েছে তা প্রতিটি রিফ্রেশে পরিবর্তিত হবে বলে মনে হচ্ছে। rie পুনরুদ্ধারকী যদিও প্রতিবার সতেজ করে না
আমি যে জিনিসগুলি চেষ্টা করেছি:
- সেটআপ: আপগ্রেড এবং সেটআপ: স্ট্যাটিক-সামগ্রী: মোতায়েন
- ভের / ক্যাশে এবং ভের / প্রজন্ম সাফ করা হয়েছে
- ব্রাউজার ক্যাশে এবং ছদ্মবেশী মোড সাফ করেছে
আমি কেবল আমার মাথাটি ধরে রাখতে পারি না কেন ফর্ম-কীটি ওভাররাইট করা হচ্ছে?
কেন এটি হচ্ছে সে সম্পর্কে কোনও সহায়তা বা ইঙ্গিতগুলি দুর্দান্ত হবে। পড়ার জন্য ধন্যবাদ
আপডেট - আমি কিছু ডিবাগিং করেছি এবং আমি বুঝতে পেরেছি যে পেজ-ক্যাশে.জেগুলি আবার ফর্ম কীটি সেট করে সমস্যাটি সৃষ্টি করছে। এটি 'ফর্ম_কি' কুকি সেট করা আছে কিনা তা যদি আমার কুকিজ চেক করে তবে এটি একটি নতুন ফর্ম কী তৈরি করে এবং কুকিগুলিতে সংরক্ষণ করে। সমস্যাটি হচ্ছে, এটি কুকি সংরক্ষণ করতে সক্ষম নয়, এজন্য এটি নতুন ফর্ম কী তৈরি করে চলে keeps
আপডেট - আমি সমস্যাটি সমাধান করেছি। এটি কুকি ডোমেন সমস্যার কারণে is ধন্যবাদ