| |||
Seguridad de mis archivos ¿Qué es lo que comunmente se hace para asegurarse de que nadie mas que yo y mis páginas php puedan modificar mis bases de datos? No quiero enredarme en el infinito tema de la seguridad, si no simplemente saber que és lo estándar. |
| |||
para entrar en tu base de datos podrían aplicar varias técnicas 1) la inyección sql, es decir, tendrías que evitar una consulta del tipo: "SELECT Count(*) FROM Usuarios WHERE Usuario = '' or '1'='1' AND password = '' or '1'='1'" que puede hacer cualquier usuario malintencionado solo poniendo " ' or '1'='1 " en campos de formularios que tomen datos de la base de datos. ¿cómo evitarlo?... bueno, deshabilitando las comillas simples de las peticiones que ingresen en tu base de datos, ya sea mediante formulario o url. un script que hace esto es el siguiente:(podés ponerlo en todas tus páginas o simplemente llamás con un nombre cualquiera al script y lo incluis con "include" en las páginas que lo requieran) <? // codigo para evitar la inyeccion sql // se modifican las variables pasadas por URL ... foreach($_GET as $variable=>$valor){ $_GET[$variable] = str_replace("'", "\'", $_GET[$variable]); } // ... y tambien las variables de formularios foreach($_POST as $variable=>$valor){ $_POST[$variable] = str_replace("'", "\'", $_POST[$variable]); } ?> 2) si tenés algún script que haga uploads tenés que poner algún validador para que no te suban cualquier script maligno y lo ejecuten via navegador... 3) tené cuidado tambien de no dejar los archivos de configuración demasiado desprotegidos, por ejemplo, no te conviene darles por ejemplo extensión "*.inc" porque se puede invocar desde el navegador, usá mejor ".php" eso es lo que se me ocurre ahora... tal vez hay otras maneras de evitar ataques a la db...
__________________ Diseño de sitios web optimizados |