with tag strip_tags remove name ejemplo php security include suhosin

php - remove - strip_tags wordpress



¿Qué tan seguro es PHP? (8)

Soy algo nuevo en la codificación de PHP y soy consciente de que los usuarios malintencionados pueden piratear un sitio web si no has desinfectado tu código PHP. Lo que me pregunto es si necesitan un cuadro de entrada de datos (como para envíos de archivos o campos de entrada de nombre de usuario / contraseña).

¿Los comandos como "include (header.php)" también necesitan algún tipo de seguridad o son innatamente seguros?


Al igual que cualquier otro idioma, el código PHP es tan seguro como el programador lo escribe.

Al igual que en cualquier otro idioma, los riesgos de seguridad individuales (e incluso comunes) son demasiado numerosos y detallados para incluirlos en una respuesta de .

Encuentre un libro que cubra la codificación segura de PHP.


En cuanto a los cuadros de entrada de datos, uno debería preocuparse por los ataques de inyección de SQL, desbordamiento, caracteres defectuosos, etc. Revise funciones como filter_var() , mysql_real_escape_string() , pg_escape_string() para principiantes.


Estoy de acuerdo con todos aquí: PHP no es más o menos seguro en sí mismo que cualquier otro idioma.

Sin embargo, debería analizar a fondo su archivo php.ini . Probablemente deberías conocer todas las directivas. Aquí es donde mucha gente comete errores desde el principio.


No confíes en el usuario.

include "a/literal/file.php";

es bastante seguro

include $someFile;

significa que quiere pensar cómo se establece $ someFile. Si usa los datos que le dio un usuario para establecer el valor de $ someFile, será mejor que lo desinfecte.


PHP es tan seguro como cualquier cosa. Pero no de forma predeterminada, depende de las habilidades del programador. A diferencia de .NET que tiende a ayudar con la seguridad de manera predeterminada.

Incluye son seguros solo ten cuidado si las rutas se generan dinámicamente.

Lo siguiente es inofensivo (dependiendo del código en myfile.php)

include("mypath/myfile.php");


Para citar a RSnake desde una publicación de sla.ckers.org en 2006:

Pensé que lo interesante era que Stefan Esser se retiró del equipo de respuesta a incidentes de PHP. No comenzar una guerra religiosa en los foros, pero es interesante que el fundador del equipo de respuesta de seguridad de PHP esté harto de la falta de seguridad en PHP y deje de hacerlo como resultado. Su sitio está caído en este momento (¿Inundación de tráfico?): [Blog.php-security.org] Así que aquí hay un corte y pegado del caché:

Sábado, 9 de diciembre 2006

Anoche finalmente me retiré del Equipo de Respuesta de Seguridad PHP, esa fue mi idea inicial hace unos años.

Las razones para esto son muchas, pero la más importante es que me he dado cuenta de que cualquier intento de mejorar la seguridad de PHP desde el interior es inútil. El Grupo PHP saltará a su barco tan pronto como intente culpar al usuario por los problemas de seguridad de PHP, pero en el momento en que critica la seguridad de PHP, se convierte en persona non grata. Dejé de contar las veces en que me llamaron traidor inmoral por revelar agujeros de seguridad en PHP o por desarrollar Suhosin.

Para el usuario PHP normal, esto significa que ya no ocultaré el lento tiempo de respuesta a los agujeros de seguridad en mis advertencias. También significará que algunos de mis avisos vendrán sin parches disponibles, porque el Equipo de respuesta de seguridad de PHP se negó a solucionarlos durante meses. También significará que habrá muchas más advertencias sobre agujeros de seguridad en PHP.

Publicado por Stefan Esser en PHP, Seguridad a las 10:58

Bueno, da miedo ya que suena, estoy realmente emocionado de finalmente obtener el "trato real" en seguridad PHP. Siempre he sido un poco cauteloso y será interesante ver lo que Stefan tiene para decir.

fuente: http://sla.ckers.org/forum/read.php?2,3976

Lo cual presenta muy bien el proyecto Hardened PHP, Suhosin http://www.hardened-php.net/suhosin/ y el proyecto Esser''s Month of PHP Bugs http://www.php-security.org/


Para responder específicamente a la pregunta, PHP es un lenguaje muy seguro. Para el idioma en sí, se recomienda que utilice la última versión estable para mantenerse al tanto de la seguridad basada en el lenguaje. Los mantenedores de php son los que crean y corrigen errores;)


Su pregunta es bastante amplia y general, pero para abordar un punto específico que hizo:

include (header.php);

es relativamente seguro, pero

include ($header);

es potencialmente un agujero de seguridad peligroso según cómo se asignó $header y si se ha desinfectado.