entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Duda en seguridad web para el trabajo con Comentarios a Artículos

Buenos Días, acabo de terminar el trabajo con los comentarios en el sitio web que estoy desarrollando utilizo codeigniter como framework de php y he programado el sitio de tal manera que cuando un usuario entra al sitio este genera una session con los campos nivel, token, entonces cuando abre una noticia paso para un input oculto el valor del token y cuando este da clic en enviar comentario dentro del form tengo el input oculto el cual valido que su valor sea igual al del token que tengo en la session y en caso de ser igual pproceso a insertar el comentario.
Cuando entro con un usuario de nivel más alto muestro un button de eliminar comentario.
Los comentarios en la página web los mando a cargar por ajax.
Estos procedimientos son seguros o me aconsejan algunos cambios.

0voto

carlossevi comentado

Quisiera responder pero antes quiero entender un poco más ¿Cuál es el motivo del token enviado oculto en el formulario?

0voto

dairon comentado

lo uso como validación anti-spam ya que lo compruevo con el que tengo en la session y cada vez que entra en la página genero uno nuevo random para que nunca sea igual

2 Respuestas

2votos

carlossevi Puntos63580

Como no aclaras si ya lo haces, lo digo por si acaso: debes validar en el controlador que recibe el borrado de comentarios que efectivamente el usuario tiene permisos para borrar. No puede confiar el nivel de permisos sólo a si un usuario ve un botón en el front, después tienes que hacer una segunda comprobación.

Por otro lado, un par de ideas:

  • Si tienes miedo de recibir spam, puedes implementar un sistema de moderación de comentarios, con usuarios "validados" para que publiquen sin moderación y otros usuarios que envíen los comentarios a una cola.

  • Durante los borrados, no borrar los registros directamente de la base de datos si no marcarlos como ocultos, cambiarlos de tabla... Así ante problemas de seguridad o programación limitas el alcance del problema.

0voto

dairon comentado

maestro no entiendo eso de no borrar directo los registros ?? yo utilizo el codeigniter cuando de la vista envio datos para el controlador valido que el usuarios en la cookie de session este inicializado y tenga el nivel que necesita y luego entonces llamo al metodo del modelo que hace la función en acción pero como soy nuevo no tengo casi ideas de seguridad en pagina web

0voto

carlossevi comentado

Entonces haces correctamente la validación de permisos. A lo otro que me refiero es que en lugar de hacer DELETE del registro en la base de datos, utilices un campo para no mostrarlo (por ejemplo "visible") y hagas un UPDATE actualizándolo a no visible. Si en el front omites los comentarios que no son visibles, será como haberlo borrado pero sin haber perdido los datos.

0voto

dairon comentado

entiendo mano yo utilizo un campo publicar que es el que me defini si se publica o no pero tambien tengo la opcion de eliminar

0voto

dairon comentado

mano podrías darme algún donde exista documentación sobre seguridad informática para web developer ??

0voto

carlossevi comentado

La verdad es que no sé qué aconsejarte, lo poco que he aprendido ha sido picoteando de varios sitios, leyendo notas en blogs, foros... Respecto a libros sobre seguridad en general, te aconsejo cualquiera de Informática64, ahora llamado 0xword: http://0xword.com/es/3_0xword

0voto

jesusDiestra Puntos220

bueno php es muy seguro,ahora eso de ocultar input no es tan aconsejable,alguien con conocimientos podria abrirse paso en esa brecha,a veces es mejor demorarse haciendo paginas distintas pero con funciones parecidas.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta