সম্মুখভাগ ফর্ম কী ওভাররাইট করা হচ্ছে


11

আমার বর্তমানে সামনের ফর্মগুলির সাথে সমস্যা রয়েছে যেখানে ফর্ম কীগুলি কোনওভাবে ওভাররাইট করা হচ্ছে এবং ভুল ফর্ম কীগুলি প্রদর্শন করছে। আমি বর্তমানে গ্রাহক লগইন ফর্ম এ এই সমস্যাটি ডিবাগ করছি।

এটি লগইন.এফটিএমটিএলে কোডটির স্ন্যাপশট, এটি ফর্মকি মানটি কী তা দেখার জন্য আমি সেটআপ করি।

  <?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'


সুতরাং, বৈধতা ব্যর্থ হয়, এবং এটি আর কখনও ত্রুটি বার্তা ছাড়াই আমাকে লগইন পৃষ্ঠায় পুনর্নির্দেশ করে ।

বিষয়গুলি নোট করুন:

  1. এই আচরণটি কেবল ক্রোম এবং মাইক্রোসফ্ট EDGE এ দেখা দেয়।
  2. ফায়ারফক্স ঠিকঠাক কাজ করে, কোনও ওভাররাইটিং ঘটছে না
  3. যে ফর্ম কীটি মুদ্রিত হয়েছে তা প্রতিটি রিফ্রেশে পরিবর্তিত হবে বলে মনে হচ্ছে। rie পুনরুদ্ধারকী যদিও প্রতিবার সতেজ করে না

আমি যে জিনিসগুলি চেষ্টা করেছি:

  1. সেটআপ: আপগ্রেড এবং সেটআপ: স্ট্যাটিক-সামগ্রী: মোতায়েন
  2. ভের / ক্যাশে এবং ভের / প্রজন্ম সাফ করা হয়েছে
  3. ব্রাউজার ক্যাশে এবং ছদ্মবেশী মোড সাফ করেছে

আমি কেবল আমার মাথাটি ধরে রাখতে পারি না কেন ফর্ম-কীটি ওভাররাইট করা হচ্ছে?

কেন এটি হচ্ছে সে সম্পর্কে কোনও সহায়তা বা ইঙ্গিতগুলি দুর্দান্ত হবে। পড়ার জন্য ধন্যবাদ

আপডেট - আমি কিছু ডিবাগিং করেছি এবং আমি বুঝতে পেরেছি যে পেজ-ক্যাশে.জেগুলি আবার ফর্ম কীটি সেট করে সমস্যাটি সৃষ্টি করছে। এটি 'ফর্ম_কি' কুকি সেট করা আছে কিনা তা যদি আমার কুকিজ চেক করে তবে এটি একটি নতুন ফর্ম কী তৈরি করে এবং কুকিগুলিতে সংরক্ষণ করে। সমস্যাটি হচ্ছে, এটি কুকি সংরক্ষণ করতে সক্ষম নয়, এজন্য এটি নতুন ফর্ম কী তৈরি করে চলে keeps

আপডেট - আমি সমস্যাটি সমাধান করেছি। এটি কুকি ডোমেন সমস্যার কারণে is ধন্যবাদ


একটি সমাধান ডকুমেন্ট করার জন্য অনেক ধন্যবাদ। একই আচরণ দেখে সমস্যাটি ডিবাগ করার জন্য কিছু সময় ব্যয় করেছেন - ফর্ম কীটি বারবার সামনের দিকে শেষ হয়
পার্স সুদ

1
আমার ক্ষেত্রে এটি ম্যাজেন্টো সিস্টেম ক্যাশে ছিল, কারণ এটি একটি মঞ্চের env থেকে স্থানান্তরিত হয়েছিল। স্টোর -> সেটিংস -> সংমিশ্রণ -> সিস্টেম -> সম্পূর্ণ পৃষ্ঠা ক্যাশে -> ক্যাশে অ্যাপ্লিকেশন: বিল্ট-ইন ক্যাশে সেট করুন (বার্নিশ আপ আছে কিনা তা নিশ্চিত না)।
মিগুয়েল ফেলিপ গিলেন কালো

হুবহু একই সমস্যা হচ্ছে এবং বৈধতার জন্য ফর্ম কীগুলির দিকে চেয়ে ছিল। আপনি বলেছিলেন এটি কুকি ডোমেন সমস্যার কারণে হয়েছে, আপনি কীভাবে এটি স্থির করেছেন তা ভাগ করে নিতে পারেন? ধন্যবাদ
লং এমকে এনগুইন

উত্তর:


0

আমার ক্ষেত্রে, আমি ইউআরএলে লোকালহোস্ট ব্যবহার করছি যাতে নীচের সমাধানটি আমাকে সহায়তা করে।

আপনি যদি স্থানীয় কম্পিউটারে আপনার ইউআরএলে লোকালহোস্ট ব্যবহার করে থাকেন তবে আইপি দিয়ে এটি প্রতিস্থাপন করুন।

আমি বলতে চাইছি যদি আপনার ইউআরএল হয়

HTTP: // স্থানীয় হোস্ট / Magento2 /

এটি দিয়ে প্রতিস্থাপন

http://127.0.0.1/Magento2/

আশা করি এটি ক্রোম এবং এজ এবং ফায়ারফক্সের জন্যও কাজ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.