Formulários e CSRF no Magento

1364931728_Cart_by_Artdesigner.lvO Magento utiliza em seus formulários uma chave que serve de proteção contra ataques do tipo CSRF. Portanto se for necessário enviar um formulário para o Magento e este não tiver esta chave atualizada, o formulário não é aceito. Para obter esta chave, utilize o comando no controlador:

$formKey = Mage::getSingleton('core/session')->getFormKey();

Após obtida, esta chave deve ser adicionada ao formulário através de um campo do tipo hidden com o nome de form_key:

$html_campo_hidden = '<input name="form_key" type="hidden" value="' . $formKey . '">';

Pronto, agora basta adicionar este HTML ao seu formulário e ele já será aceito pelo Magento.

Até a próxima 😉

1 pensou em “Formulários e CSRF no Magento

  1. Marcus

    Precisei criar um formulário a mais para a loja, então criei uma página no CMS e em linkei em uma categoria, vi que tem uma forma diferente mas não quero mudar o original quero mante-lo e sim criar outro, acho também que teria outra forma de criar um phtml e chamar o bloco mas isso não sei fazer, enfim a página esta pronta tudo ok mas depois de preencher ele não envia você conseguiria me ajudar com isso, imagino que nessa página ele tenha que ter algo que chame o arquivo de envio do Magento mas nem sei por onde começar. Da uma olhada na página.

    Responder

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.