উত্তর:
ম্যাজেন্টোতে ফর্ম কীগুলি ক্রস সাইট রিকোয়েস্ট জালিয়াতির বিরুদ্ধে প্রতিরোধের একটি মাধ্যম , সংক্ষেপে, এটি আপনাকে যেমন পোস্ট করা অন্য সাইটগুলি থেকে আপনার ফর্মগুলিতে (কার্টে যুক্ত হওয়ার মতো) আপনার পোস্ট করার চেষ্টা করা লোকদের থেকে আপনাকে নিরাপদ রাখা।
এটি বিপজ্জনক হতে পারে কারণ কেউ তাত্ত্বিকভাবে তাদের নিজস্ব ফর্ম তৈরি করতে পারে এবং আপনার স্টোরের কোনও ফর্ম হ্যান্ডলার নিয়ামক ক্রিয়াকে পোস্ট করতে পারে। সিএসআরএফ সুরক্ষা মূলত যে কোনও পোস্টকে উপেক্ষা করে যা ফর্ম পোস্টের সাথে অন্তর্ভুক্ত ফর্ম_কি পরামিতিগুলির চেক ব্যর্থ করে।
<?php echo $this->getBlockHtml('formkey')?>
এটি ম্যাজেন্টোকে "ফর্মকি" নাম সহ একটি লেআউট ব্লক সন্ধান করতে এবং এটি আউটপুট করতে বলে। ম্যাজেন্টোতে এটি সাধারণত কিছু ফাইল থাকে যা এতে থাকে:
<div><input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" /></div>
এটি ম্যাজেন্টোকে ব্যবহারকারীর সেশনের জন্য একটি অনন্য ফর্ম কী আউটপুট এবং সঞ্চয় করতে নির্দেশ দেয়। সমস্ত সিএসআরএফ-সুরক্ষিত ম্যাজেন্টো নিয়ন্ত্রক ক্রিয়াকলাপ কোনও মূল্যবোধ করার আগে এর বিরুদ্ধে যাচাই করবে।
\Magento\Framework\Data\Form\FormKey\Validator
।
আপনি এই কোড দ্বারা formkey যোগ করতে পারেন:
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$FormKey = $objectManager->get('Magento\Framework\Data\Form\FormKey');
?>
//Hidden form key field after <form> tag
<input name="form_key" type="hidden" value="<?php echo $FormKey->getFormKey();?>">
আপনি যদি পিএইচটিএমএল ফাইলটিতে ফর্ম কী যুক্ত করতে চান তবে সরাসরি ব্যবহার করুন
$ This-> getFormKey ()
<input name="form_key" type="hidden" value="<?php echo $block->getFormKey();?>">
আপনার শ্রেণি নির্মাতার উপর নির্ভরতা ইনজেকশন ব্যবহার করা:
protected $formKey;
public function __construct(
\Magento\Framework\Data\Form\FormKey $formKey
) {
$this->formKey = $formKey;
}
public function getFormKey()
{
return $this->formKey->getFormKey();
}
দ্রষ্টব্য: পিএইচটিএমএল ফাইলগুলিতে সরাসরি অবজেক্ট ম্যানেজার ব্যবহার করবেন না
ObjectManager
অগ্রভাগে ব্যবহারের পরামর্শ দেওয়া বন্ধ করুন এটি একটি ভাল অনুশীলন নয়।
অবজেক্ট ম্যানেজার এবং সমস্তটি আরম্ভ করার দরকার নেই, আপনি ব্যবহার করতে পারেন।
window.FORM_KEY
সামনের অংশ আপনি ব্যবহার করতে পারেন:
$block->getKey()
আশাকরি এটা সাহায্য করবে!
ধন্যবাদ