Cambiar contraseña de usuario admin en ezpublish

Para cambiar la contraseña olvidada del usuario admin o de cualquier otro en EZPUBLISH, es necesario tener acceso a la MySQL y ejecutar la siguiente query:

UPDATE ezuser SET password_hash = MD5(“admin\nNUEVACONTRASEÑA“) WHERE login LIKE “admin“;

Una ejecutada la query, tendremos acceso con el usuario indicado y la nueva contraseña.

Las passwords en EZPUBLISH se crean con un hash MD5 del string compuesto por el login del usuario, el carácter retorno de carro (“\n”) y la contraseña, concatenados sin espacios entre medias.

Cómo recuperar la password de admin en Joomla

Para recuperar la contraseña olvidada del usuario admin de Joomla, hay que resetearla directamente en la tabla de usuarios.

Para eso, hay que ejecutar el siguiente código SQL en la base de datos:

UPDATE `jos_users` SET `password` = MD5( 'new_password' ) WHERE `jos_users`.`username` = "admin" ;

Evidentemente, hay que poner la contraseña que se desee en lugar de new_password.

Problemas de codificación de caracteres en PHP

A veces, desarrollando webs, se muestran mal los caracteres acentuados, eñes, diéresis, cedillas, y otros pertenecientes a otros idiomas.

No siempre es evidente dónde se encuentra el problema, ya que se pueden producir errores de codificación en la base de datos, en el php, en el cliente web, en los propios ficheros de texto que contienen el PHP, y lo mismo en algún sitio más.

En cualquier caso, a veces viene bien “ver” los bytes exactos que contiene el string que estamos manejando en PHP, porque así podemos saber en qué está codificado. Para eso, siempre utilizo este trozo de código como una traza:

———-8<———-8< ———-8< ———-
$string_sospechosa = $variable_que_contiene_el_string_a_analizar;
for($x=0; $x < strlen($string_sospechosa); $x++) {
echo dechex(ord(substr($string_sospechosa, $x, 1))), ” – “;
}
———-8<———-8< ———-8< ———-

De esta forma, vemos qué bytes (en hexadecimal) tiene un determinado string.

Pero una vez que vemos los bytes del string, necesitamos tener a mano información sobre UTF-8 y sobre ISO-8859-1, y para eso entre otras páginas, se puede encontrar la información aquí:

– UTF-8: http://www1.tip.nl/~t876506/utf8tbl.html

– ISO-8859-1: http://casa.colorado.edu/~ajsh/iso8859-1.html

NOTA importante:

En general, para que todo funcione bien sin importar el idioma, hay que:

– hacer que el cotejamiento de la base de datos sea siempre UTF-8.

– los ficheros .php del web deben estar codificados en UTF-8.

– hay que indicar en el HTML generado, que el propio HTML está codificado en UTF-8 mediante el meta:

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

– y hay que decirle al navegador que interprete todo lo que recibe como UTF-8 (menú “view / character encoding / Unicode UTF-8)

– … y rezar.

NOTA sobre IExplorer, UTF-8 y AJAX:

Si se envía un string como parámetro a una página mediante AJAX, es importante que el envío de los parámetros en la llamada HTTPRequest se haga por POST, porque si se hace por GET, el IExplorer cambia la codificación de los parámetros y en el PHP llamado, al recibir los parámtros, estos llegan corrompidos.

El Firefox lo hace bien tanto por GET como por POST, así que… instálate Firefox :)