Prestashop: modifica password direttamente da database

Prestashop usa una chiave aggiuntiva che viene inserita assieme alla password prima della cifratura.

Supponiamo che si voglia modificare la password dell’utente con id=2 in NUOVAPASSWORD. Per fare la modifica direttamente via query sul database (senza passare quindi per il pannello di controllo), bisogna seguire i seguenti passi:

  1. Aprire config/settings.inc.php e trovare la riga che inizia con  define(‘_COOKIE_KEY_’ ad esempio:
    define('_COOKIE_KEY_', '6UWkKvBtCK4uZOqp0tfm15VfrvF722yGhQEpJcyu6QUmqOe9Sn3rdXNq');
  2. Copiare la stringa cifrata (nell’esempio quella in grassetto)
  3. Lanciare la seguente query:
    update ps_customer set password=md5('6UWkKvBtCK4uZOqp0tfm15VfrvF722yGhQEpJcyu6QUmqOe9Sn3rdXNqNUOVAPASSWORD') where id_customer=2

Bisogna quindi concatenare la COOKIE_KEY con la password desiderata.

La stessa cosa se si vuole modificare la password di un impiegato (tabella ps_emplotee).

 

Facebookapi SSL connection timeout

Sviluppando un’applicazione web in PHP che fa uso delle facebookAPI mi sono imbattuto nell’errore “facebookapi SSL connection timeout” quando provo a postare qualcosa sulla bacheca di un utente registrato all’app. L’errore non è sistematico ma avviene in una buona percentuale dei casi. Cercando in giro su google ho trovato le seguenti soluzioni:

http://stackoverflow.com/questions/7511802/fatal-error-uncaught-curlexception-ssl-connection-timeout-in-facebook-api-3-0-0

http://www.sitecrafting.com/blog/php-curl-ssl-connection-timeout/

La prima non ha dato i frutti sperati, la seconda invece, pare stia andando e si basa sull’aggiunta della seguente opzione per le curl:

CURLOPT_FRESH_CONNECT = 1 che permette di non salvare in cache le connessioni precedenti.

e di un ciclo while che prova per 10 volte a rieseguire la curl_exec in caso di problemi.