HTML Purifier es un filtro HTML para PHP que no solo elimina código XSS, sino que asegura que tus HTML cumplan los estándares.
A parte admite configurar el filtro con una serie de parámetros, pudiendo decir si se quiere que sea XHTML Strict o Transitional, HTML o XHTML, indicar el nivel de filtro. HTML Purifier
VÃa / dzone
A la hora de realizar aplicaciones PHP/MySQL, normalmente se suele utilizar la librerÃa mysql, cuando existe la librerÃa mysqli, la cual puede ser más eficiente.
Os paso 4 motivos que a mà me han parecido muy importantes:
Prepared statements: a parte de ser más cómodo a la hora de montar nuestras querys, ofrece mucha seguridad contra el SQL injected.
$mysqli = new $stmt = $mysqli->prepare("select usuario from usuarios where i = ?");
$stmt->bind_param('i',$id);
$stmt->execute();
Conexiones seguras: la posibilidad de usar mysqli_ssl_set() permite realizar conexiones seguras indicando detalles del certificado mediante los parámetros.
Múltiples querys: posibilidad de ejecutar varias querys separadas por punto y coma, en una conexión.
Interfaz orientado a objetos: esta caracterÃstica permite al desarrollador ampliar el objeto para añadir nuevas funcionalidades más especÃficas. Por ejemplo se podrÃan separar los errores de operación (conexión) a los de desarrollo (querys mal formadas).
Ahora viene la parte más complicada, y digo complicada porque sinceramente he tenido que mirar el código porque algo me fallaba cuando seguía lo que decía la documentación.
El nombre del fichero JSON tiene el siguiente formato [dominio de traducción]-[idioma]-[handler del fichero].json, total nada.
Dominio será el que usemos para traducir, en el ejemplo sería mi-plugin:
__( 'Hola que tal', 'mi-plugin' );
Idioma es el código del idioma, en este caso es_ES
Y por último el handler del fichero es el primer parámetro que usamos en wp_enqueue_script
Lo podemos ver todo en un ejemplo final:
wp_enqueue_script(
'mi-plugin-handler', // El handler mencionado anteriormente
$blocks_script, // Nuestro path
[
'wp-i18n', // De referenciar al menos a wp-i18n
],
);
wp_set_script_translations( 'mi-plugin-handler, 'mi-plugin', plugin_dir_path( __FILE__ ) . 'languages' );
La gente de MySQL ha sacado a la luz unos drivers nativos de su base de datos para PHP. Una alternativa que solo funciona para PHP 6 y MySQL 4.1 o superior.
mysqlnd, que es como se llama esta librerÃa, es una sustitución de libmysql, pero no tienen intención de dejar de dar soporte a libmysql para evitar que aplicaciones anteriores fallen. Pero ofrecen novedades a tener en cuenta:
La licencia es PHP license, evitando posibles problemas de licencias.
mysqlnd a nivel C usa muchas funciones internas estables de PHP.
Todas las librerÃas esta almacenadas en el directorio ext/mysqli, por lo que no es necesario enlazar a librerÃas externas. Asà como no es necesario tener instalado el cliente de MySQL para compilar PHP con soporte para MySQL.
El rendimiento ha sido mejorado en varias zonas.
De todas formas, esta primera versión no está completa y se solo se han desarrollado las siguientes funcionalidades: conexiones persistentes, mysqli_fetch_all() y mysqli_get_cache_stats().
El administrador de Planet-PHP ha puesto el código del proyecto en GitHub para aquellos que quieran implementar su propio planet.
Esó sí, el autor avisa que el código está algo obsoleto, pero aún funciona. Aunque yo casí usaría WordPress y un cron para importar los RSS y mostrarlos. planet-php
Vía / PHPDeveloper.org