Înregistrare utilizator imposibilă după update Magento 1.9.2.2

Problema zilei:

Înregistrare utilizator imposibilă după update Magento 1.9.2.2

După cum puteți observa majoritatea tutorialelor din această perioadă sunt despre Magento și despre erorile de care m-am lovit de când am făcut un update la Magento 1.9.2.2. Despre ce este vorba în acest articol?

Ei bine, după un update la versiunea Magento Community 1.9.2.2 și o testare intensă a tuturor funcționalităților am descoperit imposibilitatea de a îmi crea un cont nou de utilizator. Completam toate câmpurile și în momentul în care apăsam pe butonul de „Creare Cont” se făcea un refresh la pagină și cam atât. Am căutat erori în log, nu am găsit nimic, drept urmare a început să caut ce modificări s-au făcut de la versiunea de Magento de la care am plecat înainte de update (1.6.2) până în prezent strict pe partea de înregistrare user.

Așadar, am aflat că de la versiunea 1.7, Magento făcut mici modificări prin fișierul de înregistrare utilizator a introdus form keys, cu scopul de a evita atacurile de tip CSRF (Cross-site request forgery), peste tot pe unde există formulare Sincer, nu pot înțelege de ce ar fi nevoie pe un formular de înregistrare o astfel de măsură de securitate, dar sigur nu e făcută doar pentru câteva rânduri de cod în plus.

În general când se face un request serverul îl consideră ca fiind din partea utilizatorului curent logat. Prin adăugarea CSRF-ului se mai face o verificare asupra autenticitătii utilizatorului. Pe partea de server se generează un string random salvat în sesiune cu un timp de valabilitate. Când se face un request către server se verifică dacă câmpul există în request, dacă valoarea din request corespunde cu cea din sesiune și dacă timpul nu a expirat.

Soluția problemei este următorul rând de cod de mai jos 🙂

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

Această linie de cod lipsește din formularul de înregistrare dupa update și trebuie adăugat manual. Unde se află fisierul acestui formular de înregistrare? Ca să nu o luați pe ghicite, activați Path Hints și aflați care este locația fișierului. La mine, fișierul se afla în tema site-ului app/design/frontend/PacketTema/TemaMea/template/persistent/customer/form/register.phtml, modificarea făcută o puteți observa mai jos.

Inregistrare utilizator imposibilă după update Magento 1.9.2.2

Există posibilitatea să folosiți module speciale pentru conturile de utilizatori, drept urmare, fișierul acesta se va găsi într-o formă asemănătoare în folderul modulului respectiv, dar dacă folosiți Path Hints, cu siguranță nu o să aveți probleme în acest sens și o să găsiți fișierul corespunzător.

La final nu uitați de clear cache și apoi puteți relua testările, dar cu siguranță o să puteți crea un cont de utilizator.

Dacă articolul Înregistrare utilizator imposibilă după update Magento 1.9.2.2 ți-a fost de folos, nu uita să îi dai un share și eventual să îmi spui dacă această soluție ți-a fost sau nu de ajutor.

Alte articole despre Magento care te-ar putea interesa:

  1. Magento Connect Manager 404 Page Not Found Error | Acorduri din Suflet | Bianca Ionel

    martie 16, 2017 at 4:56 pm

    […] unor teste, am observat că problema cu crearea unui cont nou de utilizator, despre care am vorbit aici, nu mai apare și nici cea pentru resetarea […]

Leave a Reply

%d blogeri au apreciat:
Mai multe despre bianca ionel blog, IT, Magento
efect batiste bianca ionel review
Review Batiste Șampon Uscat

În decembrie am primit de la BuzzStore spre testare șamponul uscat Batiste, unul pentru volum și unul cu aroma de...

Închide