Magento CSRF защита

Я смотрю на пользовательские формы в Magento. Я видел эти уроки

http://fastdivision.com/2012/03/29/diy-magento-create-ajax-login-registration-forms-for-your-magento-theme/

http://inchoo.net/ecommerce/magento/magento-email/magento-custom-email-contact-form-with-notification-system/

Я не видел никаких упоминаний о предотвращении CSRF, как, например, проверка клиентского токена с токеном, сохраненным в сеансе пользователя. Я также посмотрел в форме Magento Contact Us и увидел это, но я не думаю, что это относится к CSRF:

<input type="text" name="hideit" id="hideit" value="" style="display:none !important;">

Есть ли у Magento какой-либо код по умолчанию для предотвращения CSRF? Делает ли метод $ this-> getRequest () -> getParams () Mage_Core_Controller_Front_Action что-нибудь автоматическое, чтобы предотвратить CSRF, который я могу пропустить?

Ответы на вопрос(2)

Решение Вопроса

SFR / nonce,если они создают страницу / форму в бэкэнд-консоли администратора. Приложение консоли администратора Magento имеет эту защиту длявсе его страницы / URL по умолчанию.

Проверять, выписываться_validateSecretKey вapp/code/core/Mage/Adminhtml/Controller/Action.php иgetSecretKey метод вapp/code/core/Mage/Adminhtml/Model/Url.php, Это может быть легко распространено на ваши собственные формы на веб-интерфейсе.

 stampede7618 окт. 2012 г., 04:20
Большое спасибо за ваш отличный вклад.

Проверка токена CSRF метод в Magento, который вы можете использовать для добавления уникального ключа формы на основе сеанса в вашу пользовательскую форму и проверки его в действии контроллера.

Чтобы отправить ключ формы CSRF с запросом при отправке формы, вставьте<?php echo $this->getBlockHtml('formkey') ?> код в тело формы.

Это сгенерирует ввод, как это:<input type="hidden" value="unique16codehere" name="form_key">, Для проверки ключа используйте_validateFormKey() метод в действии соответствующего контроллера.

 R T22 февр. 2017 г., 10:01
как это предотвратить грубую атаку?

Ваш ответ на вопрос