Press "Enter" to skip to content

[PrestaShop 1.5 – 1.7] Dodanie nowego admina sklepu przez zapytania MySQL

Admin 0

Przypuśćmy, że mamy wyłącznie dostęp do lini komend MySQL (lub pola zapytania SQL na hostingu) naszego sklepu, a musimy dodać użytkownika o randze administrator.

Z różnych powodów nie mamy także dostępu do PhpMyAdmin i nie możemy „wyklikać” zmiany hasła admina. Tak jak na poniższym tutorialu z naszego bloga:

[Prestashop 1.5-1.6] resetowanie dostępu do admina sklepu

Poniżej poradnik jak uzyskać dostęp do admina wyłącznie poprzez zapytania MySQL 🙂

Tabela tymczasowa

Najpierw tworzymy tabelę tymczasową z pracownikami (użytkownikami, którzy mogą logować się do konta):

CREATE TABLE ps_employee_tmp
AS
SELECT 
  * 
FROM ps_employee;

Tworzenie nowego użytkownika.

Znajdujemy użytkownika, który jest adminem:

SELECT `id_employee`
FROM `ps_employee_tmp`
WHERE `id_profile` =1
ORDER BY `id_employee`
LIMIT 0 , 1

Notujemy ten ID – będzie to np. ID = 1.

Modyfikujemy następnie jego ID i adres e-mail. Najpierw przyznajemy nowy numer ID. Musi być większy o 1 niż maksymalnie użyty:

SELECT max(`id_employee`) FROM ps_employee_tmp;

Czyli np. jak będzie to 7 – użyjemy 8. Ponadto przyznajemy e-mail naszego użytkownika.

Najlepiej zastosuj prawdziwy adres (a nie np. example@example.com). Ułatwi nam to np. reset hasła w przyszłości. Reset będzie też konieczny, jak np. nie masz dostępu do pliku z hash-solą (patrz niżej).

Modyfikujemy tabelę:

UPDATE `ps_employee_tmp` SET `id_employee`= 8, `email` = 'info@pskrk.com' WHERE `id_employee` = 1;

Hasło nowego użytkownika.

Ustanawiamy hasło użytkownika. Będzie ono oparte o tzw. cookie_key użyty w PrestaShop.

Jeśli nie mamy dostępu do pliku konfiguracyjnego z cookie_key możemy po prostu zresetować hasło przez maila i pominąć ten podpunkt.

Znajdziemy go w zależności od wersji PS w tym pliku:

PS 1.5 – 1.6:

config/settings.inc.php

PS 1.7

app/config/parameters.php

cookie_key jest tzw. hash-sól czyli losowy string znaków dla każdej instalacji PrestaShop inny (generowany automatycznie przy instalacji). Kopiujemy go z w/w pliku PHP bez apostrofów, które go otacza.

Przypuśćmy, że nasza sól ma postać:

dYyc0eCZUnGypUgBNOQX1tnDpKt73dEub5aPQSEjpFvgfbkZWS6VjnIO

A nowe hasło, które chcemy użyć to np.:

mojehaslo-Bi99!

UWAGA! Koniecznie zmień Twoje hasło podczas zapytań na inne. Powyższe hasło jest losowo wygenerowane i najlepiej dla celów bezpieczeństwa ustaw własne!

Wtedy łączony string, który musimy użyć będzie miał postać (Po prostu doklejamy do hash-soli nasze hasło):

dYyc0eCZUnGypUgBNOQX1tnDpKt73dEub5aPQSEjpFvgfbkZWS6VjnIOmojehaslo-Bi99!

Zapytanie, które ustali hasło dla użytkownika o ID = 8 będzie tak wyglądać:

UPDATE `ps_employee_tmp` SET `passwd` = MD5('dYyc0eCZUnGypUgBNOQX1tnDpKt73dEub5aPQSEjpFvgfbkZWS6VjnIOmojehaslo-Bi99!') WHERE `id_employee` = 8

Dodanie nowego użytkownika do sklepu.

Wstawiamy użytkownika, którego ID znaleźlśmy:

INSERT INTO ps_employee
SELECT * FROM ps_employee_tmp
WHERE `id_employee` = 8;

Gotowe !

Będziesz mógł/a się teraz zalogować do panelu PrestaShop używając tych dostępów:

info@pskrk.com
mojehaslo-Bi99!

Sprzątanie.

Najlepiej jeszcze usuń tabelę tymczasową. Nie będzie juz ona potrzebna:

DROP table ps_employee_tmp;

 

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Wyświetlenie numeru NIP w dziale kontakt sklepu PrestaShop - jak…