Contenido

10 pasos para proteger tu panel de administrador

27 Ene

+ 17

Smashing Magazine ha hecho una recopilación de 10 pasos con los que proteger tu panel de administración en WordPress.

1. Renombra y sube la carpeta de tu WordPress.

Desde la versión 2.6 es posible cambiar la carpeta wp-content/ de WordPress a otra ruta, haciendo más dificil al localización del mismo, pero wp-admin/ (el lugar donde se encuentra el panel administrador) no es posible por el momento, la sociedad de usuarios de WordPress lo está pidiendo para próximas versiones.

Por defecto al descomprimir WordPress este, se despliega sobre la carpeta wordpress/, este directorio debería ser renombrado siempre, lo ideal sería algo más críptico, y posteriormente ajustaremos el fichero wp-config.php.

wordpress_wordpress_address

2. Extender el fichero wp-config.php

Ya vimos todo lo que el fichero wp-config.php nos ofrecía, pero además podemos añadirle una capa más de seguridad con unas claves personalizadas.

define('AUTH_KEY',        'aO@`@V. F&392KTGHV9+yL%!-Zx-B|>ujz@.SX=^MGE7f98;$`R^M(p97u+bm7Rw');
define('SECURE_AUTH_KEY', '&%O(s14++I|v;P>,[${Rq]nuk!4-MR$kmuU`P+#o%8`2n}Uy]?HRVG2J:RUD5TRU');
define('LOGGED_IN_KEY',   'je!#rS1Ujn66YF*s+Xa#Z+#f|]P$qjJO|q|Zs^PV{+Y9Q<&GH 1W Y_B9%m<&j4{');
define('NONCE_KEY',       'kC)?(.oU9c7jWU#fi8m3#7lVd)?XnakWPi$l/CXU-},Rb0+TpT5>b:|,7:2]`X7{');

Para obtener estos código la gente de WordPress nos ofrecío una url que nos las genera automáticamente y aleatoriamente haciendo más segura las claves. Estas serán usadas a modo de hash para encriptar los passwords que usemos en nuestro WordPress.

Simplemente tendremos que copiarlos dentro del fichero wp-config.php.

3. Mover el fichero wp-config.php

Está muy bien que podamos añadir una capa de seguridad al fichero wp-config.php, pero si este fichero no está debidamente protegido estamos perdidos. Para ello podemos optar por moverlo y ubicarlo en una ruta diferente a la de por defecto.

4. Proteger el fichero wp-config.php

Usando el fichero .htaccess que Apache nos brinda podemos proteger el fichero wp-config.php con 4 líneas que añadiremos dentro del fichero .htaccess.

# protect wpconfig.php
<files wp-config.php>
Order deny,allow
deny from all
</files>

5. Borrar el usuarios admin

Al igual que en sistemas Unix, el usuario root(admin en nuestro caso) no debería usarse para nada, excepto para configuraciones concretas. Pero para añadir un grados más de seguridad borrarlo podría ayudarnos a proteger nuestro WordPress. 

Para ello previamente crearemos un usuario que asumirá los roles del administrador, de esa forma podremos seguir teniendo un usuario administrador que gestione las cosas que los usuarios editores y/o autores no pueden.

6. Usa contraseñas más seguras

Hay que pensar en contraseñas más complicadas y que sean dificiles de obtener reuniendo información nuestra. El usar carácteres especiales tales como acentos, %, $,¨,… ayudará a complicar la posibilidad de obtenerla mediante fuerza bruta.

Ahora con las versiones actuales de WordPress disponemos de una funcionalidad que nos va informando de la complejidad de la contraseña, de esta forma podemos asegurarnos de que sea complicada y dificil de obtener.

7. Protege el directorio wp-admin/

A la espera de que sea posible mover la carpeta wp-admin/ fuera del directorio público podemos proteger el acceso a dicho directorio con un sistema basado en .htaccess + .htpasswd

Se trata de definir un usuario y un password para acceder a este directorio, podemos usar herramientas que nos generan el contenido  que debería ir dentro del fichero .htpasswd.

8. Elimina información de la pantalla de login

La pantalla de Login es la puerta al panel de administración y eliminando información en caso de error evitamos dar pistas sobre los datos que se han introducido.

Para ello podemos añadir esto al fichero functions.php de nuestro theme.

add_filter('login_errors',create_function('$a', "return null;"));

Esto nos vaciará la salida de errores en el proceso de login.

9. Restringe el número de intentos de login

Para evitar que se puedan probar muchas veces y muchas combinaciones sobre nuestra pantalla login WordPress nos ofrece la posibilidad de definir el número de intentos de login posibles mediante el uso de uno de estos plugins:

  1. Login LockDown
  2. Limit Login Attempts

10. Mantente actualizado

Importantísimo, siempre estar actualizado, no solo a la versión de WordPress sinó a los plugins. Siempre salen versiones mejoradas y más seguras, estar a la última te puede ayudar a solventar un pequeño bug que no sabías que un plugin estaba provocando.

Hay muchas cosas involucradas en un WordPress (apache, php, mysql,…) que pueden estar comprometidas por un bug, y es muy dificil estar siempre al día para evitar posibles problemas. Conociendo algunas pautas generales de todo lo que será involucrado por lo menos lo pondremos dificil 😀

Detectar en navegador en XSL

27 Ene

+ 0

Hoy por casualidad he caido en un artículo de Manfred Staudinger, escrito en Abril del 2008,  que nos muestra como detectar el navegador de usuario desde un fichero XSL.

Recordemos que XSLT es una técnica que nos permite transformar la salida de un XML mediante el uso de un fichero XSL que actua como plantilla superpuesta., al igual que los fichero CSS modifican el aspecto del HTML.

xsl_browser

Usando la propiedad system-property() obtenemos el motor que el navegador usa para transformar los XML con las XSL y dependiendo del nombre que este tenga podemos obtener algunos datos interesantes para condicionar nuestros scripts.

<xsl:variable name="vendor" select="system-property('xsl:vendor')"/>;

Ver código completo.

Otra de enlaces rápido

27 Ene

+ 1

Ayer tuve un día de esos espesos y no tenía ganas de escribir. Estuve haciendo un proyecto que me ha llegado recientemente y solamente fué guardando enlaces de cosas interesantes, os monto un listado de lo que más me ha llamado la atención estos últimos días:

  1. imgPreview: Plugin para jQuery que nos permite visualizar un preview de una imagen al pasar sobre un link.
  2. Date Picker: Un selector de fechas para jQuery muy interesante y que nos permite selecionar desde una fecha única hasta un rango de fechas al estilo Google Analytics.
  3. WP SuperCache 0.9: Normalmente no le suelo hacer mucho caso a este plugin, pero esta nueva versión detecta los dispositivos móviles y los tiene en cuenta a la hora de cachear el contenido específico para estos dispositivos.
  4. Selectores de fechas para todos los gustos: Me ha hecho falta usar un selector de fechas para una app en el curro y este artículo me fué de perlas.
  5. Interesante sistema de paginación:  Script desarrollado para MooTools que permite crear un sistema de paginación muy similar al que adjuntaba hace ya tiempo el theme K2.
  6. OCR con Javascript: Hace unos días hackearon mediante el uso de canvas con Javascript para obtener el captcha de MegaUpload. John Resig comenta lo interesante que es la técnica usada y la posibilidad de hacer OCR sobre imagenes mediante Javascript.
  7. wwwsqldesigner: Util herramienta para generar modelos de datos para compartirlos con el resto del equipo.
  8. Todo lo que necesitas para generar un proyecto con CodeIgniter:  La gente de NETTUTS nos muestra los pasos a seguir para empezar un proyecto usando CodeIgniter como framework PHP.

Internet Explorer 8 RC1 disponible

27 Ene

+ 15

Ya está disponible Internet Explorer 8 RC1 (Release Candidate 1), una versión que se acerca a lo que tendremos cuando aparezca la versión final de el navegador más usado de Internet.

internet_explorer_8_rc1

En esta versión ya nos encontramos:

  • La plataforma completamente terminada: El navegador está completamente terminado únicamente se corregirán las deficiencias graves que se detecten hasta la fecha de liberar la versión final. A partir de aqui no se añadirán nuevas funcionalidades.
  • Se estudiará el rendimiento y compatibilidad: Se prestará especial atención a mejorar el rendimiento del navegador y a asegurarse que su instalación no afecta ninguna aplicación del sistema operativo.
  • Seguridad: Han trabajo duramente para mejorar la seguridad del navegador frente a los actuales sistemas de fraude y se ha implementado el sistema InPrivate (modo Porno :D) que se testeará para asegurar la privacidad de los usuarios.

Descargar

Podemos descargarlo de la página oficial de Microsoft. Son 16,2MB que podemos descargar e instalar directamente en nuestro ordenador (lo tengo en una consola de VMWare no sé si IE7 o IE6 se borra al instalarlo).

2 imagenes mejor que mil palabras

internet_explorer_8_rc1_2

internet_explorer_8_rc1_3

(Sacandole jugo a querySelectorAll())

Supone un gran paso frente a sus hermanos menores, pero aún se encuentra lejos de lo que nos hubiera gustado ver en esta nueva versión. Ya hemos visto muchas de las novedades que esta versión nos ofrece y la verdad es que no son pocas pero si insuficientes.

Cambia el tamaño de la fuente dependiendo del tamaño del párrafo

26 Ene

+ 4

En CSS-Tricks nos muestran como cambiar el tamaño de la fuente de nuestros parrafos dependiendo del número de palabras que estos contengan.

bigandsmallquote

// Código para MooTools
window.addEvent('domready',function() {

	$quote = $$('.post p')[0];

        var $numWords = $quote.get('text').split(' ').length; 

        if (($numWords >= 1) && ($numWords < 10)) {
                $quote.setStyle('font-size','36px');
        }
        else if (($numWords >= 10) && ($numWords < 20)) {
                $quote.setStyle('font-size','32px');
        }
        else if (($numWords >= 20) && ($numWords < 30)) {
                $quote.setStyle('font-size','28px');
        }
        else if (($numWords >= 30) && ($numWords < 40)) {
                $quote.setStyle('font-size','24px');
            }
        else {
                $quote.setStyle('font-size','20px');
        };
});
// Código para jQuery
$(function(){

    var $quote = $(".post p:first");

    var $numWords = $quote.text().split(" ").length;

    if (($numWords >= 1) && ($numWords < 10)) {
        $quote.css("font-size", "36px");
    }
    else if (($numWords >= 10) && ($numWords < 20)) {
        $quote.css("font-size", "32px");
    }
    else if (($numWords >= 20) && ($numWords < 30)) {
        $quote.css("font-size", "28px");
    }
    else if (($numWords >= 30) && ($numWords < 40)) {
        $quote.css("font-size", "24px");
    }
    else {
        $quote.css("font-size", "20px");
    }    

});

Una idea muy interesante pare tener presente….

@webdev2k, el microblog del desarrollo web

26 Ene

+ 8

Usando Twitter y este artículo de ThinkVitamin, no ha sido muy complicado montar un microplanet de microposts sobre desarrollo web. Por ese motivo ha nacido @webdev2k, un lugar donde encontrar las últimas herramientas, artículos y/o publicaciones sobre desarrollo web en tiempo real.

¿Como funciona?

webdev2k1

Simplemente hay que añadir @webdev2k en tu tweet (micropost) en Twitter y automáticamente aparecerá en la aplicación. Como podemos ver en la imagen.

¿Para que sirve?

Principalmente para agrupar todo lo relacionado con el desarrollo web y promocionar tus aplicaciones, posts o artículos relacionados con el mundo web.

Visita @webdev2k

Para los que quieran seguirlo desde Twitter, podeis seguirlo como a otro usuario más.

@webdev2k en Twitter

WordPress MU 2.7 beta

23 Ene

+ 6

Donncha anuncia hoy la versión 2.7 beta de WordPress MU. Ya iba siendo hora de que la versión multiusuario de WordPress pasara a la versión más rádicalmente diferente de todas las anteriores. Si alguien la prueba que explique las experiencias e impresiones.[Descargar]

Unas ideas para crear menús

22 Ene

+ 3

Si estás buscando un menú elegante y úsable alguno de estos  10 menús realmente increibles te pueden ayudar, y si aún no te convence ninguno de ellos, puedes hacerte tu mismo uno como este.

wp-clickmap, visualiza donde hacen click tus usuarios

22 Ene

+ 24

Ayer en la recopilación de enlaces, vimos uno que nos mostraba como generar mapas de clicks mediante el uso de jQuery y PHP, justamente 2 componentes de los que disponemos en nuestros WordPress.

clickmap

Roger Stringer ha adaptadado este script para sacar un plugin al que, originalmente, ha llamado WP-ClickMap, con el que podemos ver, desde el panel de administrador, los clicks que han efectuado los usuarios en nuestras páginas/posts. Sin duda es una utilidad muy util para ver que tan funciona el diseño de nuestro blog.

[Descargar]

Aclaraciones

Los puntos salen un poco desplazados a la derecha, lo que puede hacer que nos confundamos interpretando los resultados. Esto es debido al menú de WordPress que desplaza unos pixeles la imagen para solventar esto podemos verlo en pantalla completa sobre el blog normal

Para ello añadiremos esta parámetro a la URL que deseemos revisar:

?showmap=1

Con esto ya podremos ver la imagen perfectamente y los puntos estará perfectamente ubicados.

Impresiones tras un día de uso

Bueno han pasado ya bastantes horas con el plugin activo y pese a que por defecto únicamente devuelve los 200 últimos puntos guardados he modificado el script para mostrar una imagen con todos los puntos generados a simple vista si hacer scroll.

clickmap1

21.300 clicks almacenados, no ayudan a ver donde hacen click los usuarios ya que como podeis ver mucha gente lo ha usado para poner su nombre o alguna chorrada por el estilo. Generando 1,5 MB de datos alojados en la BD.

jQuery 1.3.1, corrigiendo pequeños bugs

22 Ene

+ 3

Acaba de salir del horno la versión 1.3.1 de jQuery, una versión que corrige  unos fallos producidos en laversión 1.3 y que podría provocar errores en algunos navegadores y en otros no. Impresionante la capacidad de reacción ante una serie de bugs.