PHP - Seguridad en Mi base de datos

 
Vista:

Seguridad en Mi base de datos

Publicado por Alvaro (46 intervenciones) el 02/02/2006 18:52:12
Hola,

escribí antes en este foro, sobre como evitar que insertaran en mi libro de vistas en un textarea codigo maligno. Bueno, mientras intentaba solucionar el problema deshabilité el boton submit, para evitar que siguieran insertando tal codigo. Aun así me lo siguen insertando.

¿A que puede ser debido? ¿Seguriad de mi base de datos? ¿Fallos en la programación?

Agradeceria que alguien me diera una solución. ¿cómo podria proteger mi base de datos mysql?

¿Existe algun codigo o alguna forma para evitar esto?

MUCHAS GRACIAS,

Un saludo,

Álvaro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Seguridad en Mi base de datos

Publicado por alberto (60 intervenciones) el 06/02/2006 11:34:13
Bien esto es un caso bastante comun y muy interesante, que por lo general nadie tiene en cuenta (a mi me ha pasado varias veces).

El problema no esta en tu base de datos, sino en tus paginas.

Lo que tenes que hacer es implementar funciones que eliminen cualquier signo HTML que pueda ser interpretado por el navegador (o cualquier código que quieras prohibir), como asi tambien javascrit, vb script, etc.; la mejor manera sería usando alguna, funcion que parsee los datos ingresados antes de guardarlos. No recuerdo ahora el nombre de las funciones, pero PHP, incluye algunas funciones que implentan esa funcionalidad (fijate htmlentities(), por ahi con esa te sirve o alguna similar).

Ahora respecto a que deshabilitaste el boton submit, pero igual funciona es por lo siguiente, si vos haces click con el boton derecho del mouse sobre tu página web, done esta el formulario, y despues elegis la opcion ver codigo fuente (esto es con explorer, en otros navegadores es similar), podes ver el codigo html de tu pagina, en ella se ve como esta formado tu formulario, nombre, campos, nombre de los campos, el metodo que usas POST o GET, la pagina a la que llamas para guardar los datos, etc. entonces, cualquier persona que sepa html, puede hacer una página en su pc, creando un formulario igual que el tuyo, nombre, campos, etc. "con un boton submit", que llame a tu página en el servidor y que le pase los datos necesarios, y de esta manera sigue usando la página, sin problemas.

Para solucionar esto, la validacion de los datos debe estar en la pagina donde se guardan los datos, y que la validacion se haga antes de guardar los datos.

Para probar este tipo de seguridad, lo que tenes que hacer es una vez que terminas la página, ponete de lado del "atacante", y trata vos de romper tu página o de violar la seguridad, ahi te vas a dar cuenta de los errores que tenes.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar