El top ten de OWASP es una lista importante para controlarse, pero es necesariamente un poco vago y hace que sea difícil traducir las mejores prácticas generalizadas en sugerencias de codificación.
Una buena regla a tener en cuenta es asumir siempre que su entrada es maliciosa , sin importar de dónde provenga, ya que puede ser difícil imaginar cómo puede ser la entrada maliciosa incluso de los más inocentes. de fuentes. Nunca asuma que los valores proporcionados por el usuario están limitados a las opciones que les dio para elegir, nunca asuma que el contenido enviado está limitado a un conjunto de caracteres o tipo de contenido dado.
Recomiendo usar uno de los muchos marcos MVC para PHP, ya que con frecuencia proporcionan elementos como modularidad, enrutamiento, abstracción de bases de datos, etc., que probablemente tenga que escribir usted mismo, y en qué lugares se cometen errores con frecuencia. . Como mínimo, lea el código de otras personas y comprenda por qué hicieron lo que hicieron y qué tipo de errores están evitando.
De hecho, recomiendo descargar varios de estos marcos; CakePHP, CodeIgniter, Kohana, etc., y leer y comprender cada componente antes de intentar escribir el suyo. Puede parecer una pérdida de tiempo, pero en realidad desperdiciará menos tiempo y aprenderá más y < fuerte> aprende mejores prácticas si enfocas más la atención en aprender el código de otras personas en lugar de adentrarte y averiguarlo tú mismo.
También, como un poco de adición editorial, realmente recomendaría contra PHP si tiene alguna otra opción; y esto proviene de alguien que ha estado programando en PHP desde 1998. En aras de la seguridad, la cordura, el rendimiento y la capacidad de mantenimiento, es difícil encontrar una opción peor que PHP. Esto ya ha sido cubierto hasta la saciedad, así que solo diré algo aquí.