Tecnología

Inicio

Los peligros ocultos de entrada con PHP

El lenguaje de programación PHP es un lenguaje de programación en general, muy seguro, sobre todo porque no sufre de ataques de desbordamiento de búfer, ya que el idioma no se basa en la memoria. Hay, sin embargo, problemas de seguridad y peligros ocultos con la lengua. Debido a la simplicidad de la lengua, algunos codificadores pueden dejar accidentalmente vulnerabilidades dentro del código. Al utilizar campos de entrada en PHP, hay ciertas cosas que usted debe tener en cuenta.

Cross Site Scripting

Cross Site Scripting o XSS es donde el contenido de entrada a su script PHP, tales como Javascript. XSS es muy útil, por ejemplo, si se reunían las noticias en una página web. Sin embargo, si usted tiene un script que permite a los usuarios elegir un número de página, y que en lugar de insertar una secuencia de comandos a un código externo, entonces el XSS dará lugar a agujeros de seguridad. Añadir un "strip_tags ()" en sus correspondientes PHP para eliminar de entrada HTML.

inyección SQL

Inyección SQL permite agujeros de seguridad en su base de datos. En una forma de inicio de sesión del usuario, por ejemplo, si se utiliza un "password = '$ password'" Basic Script, a continuación, el hacker puede introducir " 'OR 1 = 1" en el campo de contraseña, e inicie sesión en la base de datos. Esto significa que el hacker puede entrar en cualquier cuenta que conoce el nombre de usuario. Inserte el "mysql_real_escape_string ()" para evitar que esto suceda.

Forma de entrada falsa

Al igual que con la inyección de SQL, si usted tiene cualquier tipo de forma, tal como una "entrada" o "área de texto", a continuación, un hacker puede utilizar estos elementos de sólo lectura para ejecutar comandos SQL y sentencias en el guión. Solucionar este como lo haría con la inyección de SQL si se utiliza consultas SQL a la base de datos principal.

Subir archivo

Si usted quiere ofrecer un cuadro de entrada de carga de archivos en su sitio web, esto plantea un peligro potencialmente grande de entrada. Hay dos cosas que hacer para solucionar este problema. En primer lugar, especificar el tipo MIME de los archivos que desea que envía; por ejemplo, añadir "image / png" y "image / gif" a la etiqueta $ validMimes para reducir los tipos de archivos a los mimos. Siguiendo el tipo mime, para añadir seguridad adicional "=> '.png'" sigue a la etiqueta png, para asegurar que el tipo mime coincide con la extensión de archivo.