Seguridad en los formularios de wordpress utilizando nonce

alojamiento wordpress

Hola a todos:

Hoy vamos a ver la manera de añadir más seguridad a nuestros formularios en wordpress utilizando la técnica nonce.

Cuando tenemos un formulario público donde los usuarios pueden enviar datos siempre es una puerta de entrada  susceptible a ser manipulada maliciosamente.

La palabra “nonce” viene de number use once, es decir número utilizado una sola vez.

Esto nos ofrece una seguridad extra a nuestros formularios ya que entre otras cosas permite verificar el origen de la petición y evitar que los datos enviados sean manipulados maliciosamente.

Esta técnica se puede utilizar  en cualquier lenguaje de programación, wordpress nos facilita esta tarea ofreciéndonos la función wp_create_nonce(), que nos generará un número aleatorio que después nos permitirá validar que la petición viene desde nuestro formulario y desde ningún otro sitio.

Para realizar esta validación utilizamos la función de wordpress wp_verify_nonce().

Veamos con un ejemplo la forma de utilizar nonce:

En primer lugar en nuestro formulario añadiremos un campo oculto que contendrá el valor de nonce generado con la función wp_create_nonce().

<form action="" method="post">
<?php // Generamos el nonce ?>
<?php $nonce = wp_create_nonce( 'miformulario' ); ?>
<input type="hidden" name="_wpnonce" value="<?php echo "{$nonce}"; ?>"/>
Nombre:<input tytpe="text" name="nombre" />
<!-- //  mas campos de mi formulario -->
......
......
</form>

 

Como parametro la funcion wp_create_nonce recible una cadena de caracteres que luego debemos utilizar para verificar el nonce. Yo en este caso le he llamado ‘miformulario’.

Ahora en la parte donde recojas los datos recividos desde el formulario verificamos que el nonce es correcto:

<?php
$nonce = $_REQUEST['_wpnonce'];
if ( ! wp_verify_nonce( $nonce, 'miformulario' ) ){
  wp_die( 'nonce no válido' );
}
// Si el nonce es correcto seguimos recogiendo el resto de campos
$nombre = $_POST['nombre'];
//  ...... resto de campos
?>

De esta manera si detecta  que el nonce no es correcto se parara la ejecución mostrando un mensaje de aviso y evitaremos que se ejecute nada indeseado.

Con estos sencillos pasos aportaremos un poco más de seguridad a nuestros formularios en wordpress.

 

P.D: Podeis probar mis últimos juegos para móviles. Si ponéis una valoración en alguno me haceis un favor 😉

ico_beheading_androidico_beheading_iosico_beheading_wpGalactic InsectsGalactic InsectsGalactic InsectsSnow SoccerSnow Soccer

alojamiento wordpress

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s