Evitar navegación.
Principal

Seguridad Php (1ª Parte)

PHP es una lengua muy fácil a aprender, y muchos programadores lo aprenden como manera de agregar interactividad a sus Sitio Web. Desafortunadamente, eso significa a menudo los programadores de PHP, especialmente ésos más nuevos al desarrollo web, cometen ciertos riesgos de seguridad y desaprovechan el potencial que sus usos pueden contener. Aquí están algunos de los problemas mas comunes de seguridad y cómo evitarlos.

Regla número uno: Nunca, confiar en los usuarios

Nunca debes confiar en que los usuarios te van a mandar los datos que tu esperas. Mucha gente responde a esto con algo como“Oh, nadie estaría interesado en mi sitio”. Esta afirmación no podría ser mas incorrecta , siempre hay un usuario malévolo que quiere explotar un agujero de seguridad ademas los problemas pueden presentarse fácilmente debido a un usuario que hace algo mal inintencionalmente.

Por todo esto la regla de todo desarrollador web tiene que ser "Nunca, confiar en los usuarios" . Asumir que cada pieza de datos que tu sitio recoge de un usuario puede convertirse en un agujero de seguridad, siempre. Si la seguridad de tu sitio web es importante para ti, este un buen puntopara comenzar a aprender. Sería conveniente tener “una hoja de seguridad para PHP” al lado de tu escritorio con los puntos mas importantes en texto negrita grande.

Variables globales

En muchas lenguajes debes crear explícitamente un variable para utilizarlas. En PHP, hay una opción, las “register_globals”, que puedes fijar en php.ini y que permite que utilices variables globales.

Considera el código siguiente:

if ($password == "my_password") {

   $authorized = 1;

}

if ($authorized == 1) {

   echo "Mis cosas importantes ";

}

A muchos de vosotrosos puede parecer que este código esta funcionando perfectamente. ¿Sin embargo, si un servidor tiene “register_globals” encendidos, entonces simplemente agregando”? authorized=1 " al URL dará a cualquier persona el acceso libre a exactamentelo que no quisieras que todo el mundo viera. Éste es uno de los problemas mas comunes de la seguridad de PHP.

Afortunadamente, esto tiene un par de soluciones simples y posibles. La primera, y quizás la mejor, es fijar desactivar “register_globals”. La segunda es asegurarse de que utilizas solamente las variables que has fijado explícitamente tú mismo. En el ejemplo anterior, eso significaría la adición “$authorized = 0; ” al principio de la escritura:

$authorized = 0;

if ($password == "my_password") {

   $authorized = 1;

}

if ($authorized == 1) {

   echo "Lots of important stuff.";

}

Mensajes de error



Los mensajes de error son una herramienta muy útil para los programadores y hackers. Un desarrollador los necesita para detectar bugs. Un hacker puede utilizarlos para descubrir todas las clases de información sobre un sitio, desde la estructura del directorio del servidor a la información de la conexión de la base de datos.En PHP para evitar esto puedes utilizar .htaccess o php.ini, fijando “error_reporting” a “0”.

 

Enlaces Relacionados


como bloquear las url en php en dreamweaber

hola sabes que estoy haciendo mi pagina la cual deceo crear un control de usuario y a la vez quiero bloquear las url para que ningun hacker intente votarme la pagina si tienes algunas de aquellas instrucciones te estaria muy agradecido.. bueno saludos a todos y me encanto esta pagina.chau

Plop

¬¬

Consulta

Estimado,
Estoy documentando un sitio desarrollado con PHP y es enorme. Tu conoces de alguna herramienta que me entregue dependencias de php entre si.
Lo que requiero es que si hay funciones que son usadas por más de un programa, sepamos cuáles páginas las usan y si hay include lo mismo. Esto nos permitirá medir el efecto que puede producir su cambio. Una especie de matriz de trazabilidad.

Muchas Gracias

segunda parte?¿

ummmmm

aqui

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato