Tecnología

Inicio

Cómo comprobar una cadena para su mala disposición en PHP

Hay muchos casos en los que un desarrollador web necesita a su script PHP para comprobar los datos de entrada para asegurarse de que utiliza caracteres válidos. No sólo las contraseñas y nombres de usuario cada uno tiene requisitos de carácter válido, pero la seguridad básica dicta que un desarrollador de mantener un ojo vigilante sobre los datos entrantes. Por ejemplo, en una secuencia de comandos que llama a los comandos de terminal, algunos caracteres tales como ">" y "|" tienen significados especiales en el terminal, y la falta de despojarlos de código puede proporcionar a los piratas informáticos con una forma fácil de ejecutar código malicioso en el servidor. La clave para todas estas tareas es el comando PHP "preg_match", acrónimo de "PHP coincidencia de expresión regular."

Instrucciones

1 Abra un editor de texto o con su entorno de desarrollo integrado de PHP favorito.

2 Pega el siguiente script:

<? Php

$input = "This is some bad input for a user name because of all these odd characters: #@$#%$.";

$ Válida = preg_match ( '/ [a-zA-Z0-9] /', $ entrada);

if ($ válida) echo "nombre de usuario válido!" '

else echo "Nombre de usuario no válido!";

?>

Este sencillo script usa la sintaxis de expresiones regulares para especificar que un nombre de usuario debe contener letras o números en mayúsculas o minúsculas. Los corchetes en una expresión dicen PHP que cualquiera de los personajes dentro son aceptables. Si la cadena utiliza cualquier otra cosa, como puntuacion, el "$ válida" variable se establece en false y el programa imprimirá un mensaje a la salida estándar permitiendo que el usuario sepa que su nombre de usuario no es válido.

3 Guarda tu trabajo.

Consejos y advertencias

  • Las expresiones regulares puede ser un tema difícil de aprender, pero son la herramienta de elección para realizar búsquedas de texto complejo. Puede leer más acerca de las expresiones regulares en el primer recurso.
  • Puede especificar caracteres inaceptables mediante la adición de un signo de exclamación al patrón, así: "[! Az]". Este patrón prohibiría letras minúsculas.
  • Muchos signos de puntuación que tienen un significado especial en expresiones regulares. En particular, el "." significa "cualquier carácter" en la sintaxis de expresiones regulares. Con el fin de especificar los signos de puntuación literales como válido, se debe agregar un prefijo con la barra invertida, de esta manera: "\".