| |||
Sirve la funcion htmlspecialchars() para evitar SQL Injection? Con la funcion htmlspecialchars() se evita que los usuario hagan inyección SQL? o hay que tomar mas precacuciones en los formularios? |
| ||||
Respuesta: Sirve la funcion htmlspecialchars() para evitar SQL Injection? Cita: Sí, se podría, primero utilizando htmlspecialchars() para guardar el dato en la BD o para consultar ese dato en la BD, pero, el problema está en que tendría que decodificar cuando, habiendo guardado ese dato, quisieras decodificar ese dato, teniendo que pasar todos los datos por htmlspecialchars_decode().¿Es conveniente? No, incrementarías notablemente el tiempo de ejecución en una web de alto tráfico. ¿Entonces qué es lo mejor? Utilizar lo que PHP te ofrece: 1-mysqli_real_escape_string() 2-PDO prepare y PDO Statement -> http://php.net/manual/es/pdo.prepare.php dice lo siguiente en PDO prepare: Cita: Teniendo solamente que recoger el dato por GET o POST y ya el propio PHP escapa los caracteres que considere peligrosos.Llamar a PDO::prepare() y a PDOStatement::execute() para sentencias que serán ejecutadas en múltiples ocasiones con diferentes parámetros optimiza el rendimiento de la aplicación permitiendo al driver negociar en lado del cliente y/o servidor el almacenamiento en caché del plan de consulta y meta información, y ayuda a prevenir inyecciones SQL eliminando la necesidad de entrecomillar manualmente los parámetros. Entonces lo implementas y te olvidas de tener que confeccionar nada que tenga que contemplar infinidad de escenarios respecto al SQL injection, quitándote tiempo y rendimiento de la aplicación.
__________________ Ayúdame a hacerlo por mi mismo. |
Etiquetas: |