Archivo de la etiqueta: php

Problemas de autentificación en MySQL desde PHP

Hoy me he encontrado con un problema al instalar una aplicación web en un servidor.
A partir de la versión 4.1 de MySQL, el sistema de autentificación de usuarios ha sido modificado, haciendo imposible que PHP conecte a no ser que este actualizada su extensión de MySQL, y devolviendo el siguiente error cuando intenta establecer una conexión:

Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client

Existen varias soluciones a este problema, como actualizar la extensión de PHP o establecer la contraseña de los usuarios de MySQL utilizando una función que la codifica con el antiguo sistema.
Podeis encontrar más información sobre los diferentes remedios en estas páginas:

Anuncios

Cuidado con el $_SERVER[‘HTTP_REFERER’]

Inauguro una serie de posts en los que iré explicando algunos consejos utiles para PHP que he ido aprendiendo con el tiempo.

En esta ocasión, os llamaré la atención sobre el uso indiscriminado que muchos programadores nóveles de PHP hacen de la variable de servidor $_SERVER[‘HTTP_REFERER’].
Muchos la utilizan (yo hace tiempo tambien lo hacía) para generar enlaces de “Volver atrás”, para redireccionar a la pagina de origen despues de la ejecución de un script, etc. El problema radica en que esta variable no siempre está disponible, ya sea por que el navegador no la envie, este siendo filtrada/bloqueada por el cortafuegos del usuario, u otras posibles causas. De hecho, en la manual oficial de PHP ya lo advierten:

… Este valor es definido por el agente de usuario. No todos los agentes de usuario lo definen, y algunos proveen la capacidad de modificar HTTP_REFERER como una característica del software. En resumen, no se puede confiar realmente en este valor…

Como consecuencia tenemos enlaces que no llevan a ningun sitio, redirecciones fallidas y otros errores derivados de su uso.
Visto todo esto, solo me queda recomendaros que no useis esta variable, o en cualquier caso programeis una función que compruebe su valor antes de usarla.

WordPress Pingback Encoding Fix

(Entrada en inglés para que la pueda leer más gente. Si alguien no la entiende que lo comente y se la traduzco.)

WordPress v1.5 fixes the trackback encoding problem between blogs with distinct charsets, but doesn’t fix the same problem with pingbacks.
Here you have a “xmlrpc.php” file hack that solves that problem: wordpress_pingback_encoding_fix.zip
Unzip and upload the file to your blog main folder, overwriting the old one.

Updated:
I have setup two blogs with distinct charset encoding. You can make your pingback tests on any of their posts:
WPUTF (WordPress Blog with UTF-8 encoding)
WPISO (WordPress Blog with ISO-8859-1 encoding)

WordPress Trackback Encoding Fix

Las versiones antiguas de WordPress muestras caracteres extraños (“chinitos” como los llama HighToro) en los trackbacks procedentes de webs con otra codificación (UTF-8, ISO-8859-1, ISO-8859-15, etc.) diferente a la propia.
Basandome en la versión 1.5 que ya corrige el problema, he realizado un hack del archivo “wp-trackback.php” para los que como yo todavia no se han actualizado a la nueva versión (ya sea por pereza, falta de tiempo, etc.).

Podeis descargar el fichero en cuestión comprimido en zip de aquí: wp-trackback_encode_fix.zip
Solo teneis que descomprimirlo y subir el archivo “wp-trackback.php” al directorio principal de vuestro blog, sobreescribiendo el antiguo.

Lo he probado en todas las version de 1.2.X de WordPress y haciendo trackbacks de un blog con codificación UTF-8 a otro con ISO-8859-1 y me ha funcionado bien. Si lo probais comentarme que tal os va. Yo cuando tenga un rato le pediré a algun bloguer japones que me haga un trackback a ver si rula bien.

Mi propio CMS

Hoy, leyendo el post “CMS propios” en Delirios de un Informático, me ha entrado la picá de hacerme yo también el mio. Llevaba un tiempo dandole vueltas pero hasta hoy no me lo había planteado en serio.

Antes que nada, he decidido las caracteristicas internas del mismo, que serán las siguientes:

Como buen informático, lo primero que voy a hacer es el análisis del proyecto, centrandome sobre todo en realizar un buen diagrama ER. Os mantendré informados de los progresos…

Plugins para WordPress

Para compensar un poco el trabajo que le estoy dando a Nicolás Fantino (ala_747) encontrandole pequeños bugs en sus plugins, voy a hacerle un poco de publicidad aquí.

Nicolás es el creador de una colección de plugins muy útiles, de hecho, de los 6 plugins que tengo instalados, cuatro de ellos son suyos. Los describiré un poco a continuación:

Solo me queda darle las gracias por el excelente trabajo que esta realizando para mejorar las caracteristicas de mi CMS para weblogs favorito: WordPress.

Surtido de enlaces (II)

¿Energía natural o explotación animal?: Hamster-Powered Night Light (via PocketPC Addict).

Algo de humor: Canciones en inglés que esconden mensajes en español.

¿Te crees todo lo que te cuentan? Échale un vistazo a: “La moderna imagen de Santa Claus fue creada por Coca-Cola” y otras leyendas urbanas (en inglés).

Algo para leer: Nada mejor que una novela libre (y gratuita) de ciencia ficción, Tiempo que perder (vía Barrapunto).

Por algo existe el dicho de “es una trabajo de chinos“, sino que se lo digan a los que tienen que construir el Centro Nacional de Natación de Beijing 2008 (vía AntiPixel).

Para los que comienzan en el mundillo de la informática:
Curso de Introducción a Windows XP
Manual gráfico eMule… para torpes.

También para los que se incian en Linux y buscan manuales de iniciación, les recomiendo que se pasen por esta discusión en Barrapunto sobre documentación para aprender a usar linux. Aunque si ya tienes algo de experiencia y no tienes miedo a probar cosas nuevas, mira esta Introducción a Gentoo.

¿Estas pensando en montar tu weblog y no te decides entre tantos motores diferentes? Pues seguro que hay más de los que crees, sino observa esta lista de Software para bitacoras (vía Barrapunto).

Para poder introducir codigo en los post sin que sea interpretado, nada mejor que: Encode HTML Entities.

¿Cumple tu web los estandares? Compruebalo en A web standards checklist (vía BlogPocket).

A lo que pueden llegar los Delirios de un informático: Brainfuck.

Para los frikis, una de haikus sobre caidas del PC y WordPress (via Nuclear Moose Candy y Serendipity).

— Actualización —
Tuve un problema con los enlaces de este post. Creo que ya estan todos corregidos.