August 8th, 2007
(Dear lazy web) Alternativas para crear codigo PHP para web de manera segura
Todos los que hacen algún tipo de desarrollo para web saben que los problemas que conlleva están en varios niveles: (in)compatibilidad de los navegadores a nivel de HTML, JavaScript y CSS, problemas de seguridad como XSS (cross site scripting) e inyecciones SQL.
Para todo hay trucos, y por ejemplo la incompatibilidad de los navegadores en cualquiera de los niveles se puede corregir tal vez a un 90% en la mayoría de los navegadores (los 4 mas populares :), sin embargo, los problemas de seguridad pueden ser incluso mas importantes, o mas preocupantes.
En los últimos días he estado pensando en como podría lograrse un método o conjunto de herramientas (funciones y clases) que permitan escribir código PHP para web sin que sea posible un ataque SQLi o XSS, y sin tener que hacer a mano las validaciones.
Una alternativa es NO USAR PHP, con python/django es posible hacer todo eso y más, pero estoy intentando reescribir una aplicación ya hecha en PHP, que va a seguir siendo mantenida por programadores de PHP (en teoría) y que además tiene un esquema de base de datos ya definido (no es un problema para usar django realmente).
He estado dándole vueltas al asunto durante los últimos días, como es usual perdiendo el tiempo en vez de actuar :), pero si sería chido conocer una alternativa robusta para hacer las cosas de la “manera correcta™”.
Por lo pronto creo que voy a darle un poco por el lado de django, pero si alguien llega a leer esta nota, y además sabe de una alternativa interesante para PHP (2 requisitos complicados de cumplir) por favor comunícamelo con señales de humo, email, respuesta aquí, o como se pueda.
