গেটব্লকএইচটিএমএল ('ফর্মকি') কী?


19

আমি ম্যাজেন্টোতে পণ্য সম্পাদনা পৃষ্ঠা (প্রথম ট্যাব) সম্পাদনা করার চেষ্টা করছি এবং তাদের নিজ নিজ ট্যাব থেকে পরিমাণটি (পাশাপাশি কয়েকটি অন্যান্য জিনিস) প্রথম পৃষ্ঠায় সরিয়ে নিতে চাই। আমি দেখি

<form action="<?php echo $this->getSaveUrl() ?>" method="post" id="product_edit_form" enctype="multipart/form-data">
<?php echo $this->getBlockHtml('formkey')?>
<div style="display:none"></div>
</form>

এবং জেনে নিন যে পরিমাণ পাঠ্যবাক্সের কোড

    <tr>
        <td class="label"><label for="inventory_qty"><?php echo Mage::helper('catalog')->__('Qty') ?><span class="required">*</span></label></td>
        <td class="value">
            <?php if (!$_readonly):?>
            <input type="hidden" id="original_inventory_qty" name="<?php echo $this->getFieldSuffix() ?>[stock_data][original_inventory_qty]" value="<?php echo $this->getFieldValue('qty')*1 ?>"/>
            <?php endif;?>
            <input type="text" class="input-text required-entry validate-number" id="inventory_qty" name="<?php echo $this->getFieldSuffix() ?>[stock_data][qty]" value="<?php echo $this->getFieldValue('qty')*1 ?>" <?php echo $_readonly;?>/>
        </td>
        <td class="value scope-label"><?php echo Mage::helper('adminhtml')->__('[GLOBAL]') ?></td>
    </tr>

প্রথম ট্যাবটির কোডটি কি কেউ জানেন? ফর্মকি দিয়ে কি কিছু করার আছে?

ধন্যবাদ!

উত্তর:


43

ম্যাজেন্টোতে ফর্ম কীগুলি ক্রস সাইট রিকোয়েস্ট জালিয়াতির বিরুদ্ধে প্রতিরোধের একটি মাধ্যম - এখানে অ্যাশলে শ্রড্ডার দ্বারা দুর্দান্তভাবে ব্যাখ্যা করা হয়েছে তবে সংক্ষেপে, এটি আপনাকে অন্য সাইটগুলি থেকে পোস্ট করার চেষ্টা করছে এমন লোকদের থেকে আপনার সুরক্ষিত রাখা (কার্টে যুক্ত করার মতো) আপনি.

এটি বিপজ্জনক হতে পারে কারণ কেউ তাত্ত্বিকভাবে তাদের নিজস্ব ফর্ম তৈরি করতে পারে এবং আপনার সচেতন না হয়ে আপনার স্টোরের যে কোনও ফর্ম হ্যান্ডলার নিয়ামক ক্রিয়াকে পোস্ট করতে পারে। সিএসআরএফ সুরক্ষা মূলত যে কোনও পোস্টকে উপেক্ষা করে যা ফর্ম পোস্টের সাথে অন্তর্ভুক্ত ফর্ম_কি পরামিতিগুলির চেক ব্যর্থ করে।

তো, কী করে <?php echo $this->getBlockHtml('formkey')?>? এটি ম্যাজেন্টোকে "ফর্মকি" নাম সহ একটি লেআউট ব্লক সন্ধান করতে এবং এটি আউটপুট করতে বলে। ম্যাজেন্টোতে এটি সাধারণত কিছু ফাইল থাকে যা এতে থাকে:

<div><input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" /></div>

এটি ম্যাজেন্টোকে ব্যবহারকারীর সেশনের জন্য একটি অনন্য ফর্ম কী আউটপুট এবং সঞ্চয় করতে নির্দেশ দেয়। সমস্ত সিএসআরএফ-সুরক্ষিত ম্যাজেন্টো নিয়ন্ত্রক ক্রিয়াকলাপ কোনও মূল্যবোধ করার আগে এর বিরুদ্ধে যাচাই করবে।

আছে HTH!


ওয়েল এটি অবশ্যই তাদের ব্যাখ্যা দেয় এবং আমি আপনাকে অনেক ধন্যবাদ জানাই। এখন আমার প্রোডাক্ট সম্পাদনা প্রথম ট্যাবে কীভাবে সেই পরিমাণটি <tr> পাবেন সে বিষয়ে আমি এখনও চেষ্টা করেই বাকী রয়েছি। থটস? আমি এটি কেবল শীর্ষে করতে পারি তবে আমি এটির অন্তর্ভুক্ত ক্ষেত্রগুলির মধ্যে একটি হতে চাই তাই দেখে মনে হচ্ছে এটি সেখানে থাকার কথা।
প্রোগ্রাম 21

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