Foros del Web » Programando para Internet » PHP »

Seguridad al generar un archivo PDF

Estas en el tema de Seguridad al generar un archivo PDF en el foro de PHP en Foros del Web. Hola que tal chicos! Una ayuda en la cuestión de Seguridad muy simple, tengo un Formulario donde pido algunos datos para poder generar un Oficio ...
  #1 (permalink)  
Antiguo 26/11/2012, 17:16
Avatar de AndreaEstrada  
Fecha de Ingreso: noviembre-2012
Ubicación: Torreón
Mensajes: 54
Antigüedad: 12 años
Puntos: 0
Mensaje Seguridad al generar un archivo PDF

Hola que tal chicos! Una ayuda en la cuestión de Seguridad muy simple, tengo un Formulario donde pido algunos datos para poder generar un Oficio en PDF, la acción de ese formulario es precisamente la generación de ese documento y ahí mismo inserto los datos del formulario en la base de datos.

Mi pregunta: es que como la página que genera el PDF también inserta en la base de datos, cada vez que un usuario ACTUALICE ese página se hará un nuevo registro =( !

¿Cómo puedo evitar esta situación?
__________________
"La verdadera clave de la grandeza es ser en verdad lo que aparentamos ser" -Sócrates
  #2 (permalink)  
Antiguo 26/11/2012, 21:28
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 4 meses
Puntos: 181
Respuesta: Seguridad al generar un archivo PDF

Pues no tengo muy claro lo que deseas hacer pero si por ejemplo el usuario x con un id unico llena un formulario se crean los datos y se colocan en la base de datos. Si el usuario vuelve a actualizar la pagina lo que deberias mirar antes de insertar los datos a la base de datos es mirar si ya existe algun registro dentro de la base de datos con el id del usuario. En caso de que ya exista ese usuario pues no se le deja que inserte indefinidamente los datos.

No se si con eso solucionas tu pregunta y si entendi el problema.
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 26/11/2012, 21:29
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Seguridad al generar un archivo PDF

Supongo que podrías preguntar si alguno de esos datos existe en la base de datos.
No se de que trata el formulario, pero por ejemplo, si pides el mail, puedes verificar antes de guardar si existe ese email.
Lo mismo se puede hacer si los usuarios que ven el PDF son solo los registrados en tu web.

No había visto la respuesta de cuasatar.
Pero vi que entendí lo mismo, y me parece que es la misma solución!

Saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #4 (permalink)  
Antiguo 27/11/2012, 15:31
Avatar de AndreaEstrada  
Fecha de Ingreso: noviembre-2012
Ubicación: Torreón
Mensajes: 54
Antigüedad: 12 años
Puntos: 0
Respuesta: Seguridad al generar un archivo PDF

Cita:
Iniciado por cuasatar Ver Mensaje
Pues no tengo muy claro lo que deseas hacer pero si por ejemplo el usuario x con un id unico llena un formulario se crean los datos y se colocan en la base de datos. Si el usuario vuelve a actualizar la pagina lo que deberias mirar antes de insertar los datos a la base de datos es mirar si ya existe algun registro dentro de la base de datos con el id del usuario. En caso de que ya exista ese usuario pues no se le deja que inserte indefinidamente los datos.

No se si con eso solucionas tu pregunta y si entendi el problema.
Lo que pasa es que mi problema no esta en quien es el usuario, sino en la acción misma de refrescar la página. Porque mi sistema hace Oficios, así que una persona puede tener muchos oficios solicitados y generados.

El problema que tengo es que cuando el formulario se llena y pasa a la otra página donde se ve como resultado el PDF ahí mismo se insertan los datos. Y necesito evitar que se hagan muchas veces, solamente 1 vez. Un saludo!
__________________
"La verdadera clave de la grandeza es ser en verdad lo que aparentamos ser" -Sócrates
  #5 (permalink)  
Antiguo 27/11/2012, 15:32
Avatar de AndreaEstrada  
Fecha de Ingreso: noviembre-2012
Ubicación: Torreón
Mensajes: 54
Antigüedad: 12 años
Puntos: 0
Respuesta: Seguridad al generar un archivo PDF

Cita:
Iniciado por Javier01 Ver Mensaje
Supongo que podrías preguntar si alguno de esos datos existe en la base de datos.
No se de que trata el formulario, pero por ejemplo, si pides el mail, puedes verificar antes de guardar si existe ese email.
Lo mismo se puede hacer si los usuarios que ven el PDF son solo los registrados en tu web.

No había visto la respuesta de cuasatar.
Pero vi que entendí lo mismo, y me parece que es la misma solución!

Saludos
Gracias por la respuesta, yo quiero evitar que al momento de actualizar la página del PDF se inserten nuevamente registros, como mi sistema genera oficios, pues es un problema que quiero limitar en ese aspecto!
__________________
"La verdadera clave de la grandeza es ser en verdad lo que aparentamos ser" -Sócrates
  #6 (permalink)  
Antiguo 27/11/2012, 15:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Seguridad al generar un archivo PDF

Pues de alguna manera debes de guardar un valor único de ese registro para que compares ese valor justamente y evites volver a insertar el registro, debes de encontrar alguna columna y/o combinación de columnas que puedas decir, este registro es único y entonces no insertarlo y solamente generar el PDF...
  #7 (permalink)  
Antiguo 27/11/2012, 15:51
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Seguridad al generar un archivo PDF

Creo que no tienes muchas posibilidades;
o usas algún dato como clave única (ejemplo, el mismo usuario no puede tener 2 registro del mismo oficio).
o haces el insert en una pagina aparte, tal vez en una intermedia, que guarde los datos, y luego pase a otra que presente el PDF.
La pregunta es, que pasa si el usuario llena el formulario varias veces con los mismos datos? se guarda el registro varias veces? controlas eso?
Saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #8 (permalink)  
Antiguo 27/11/2012, 15:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Seguridad al generar un archivo PDF

Otra opción es que primero insertes, posteriormente hagas un header() y con un location a otra pagina donde solamente se genere el PDF en base a un id que le pases (ese id puede ser el del folio del oficio) así solamente se va a generar el PDF y no a insertar.

Saludos.
  #9 (permalink)  
Antiguo 27/11/2012, 16:22
Avatar de AndreaEstrada  
Fecha de Ingreso: noviembre-2012
Ubicación: Torreón
Mensajes: 54
Antigüedad: 12 años
Puntos: 0
Respuesta: Seguridad al generar un archivo PDF

Cita:
Iniciado por GatorV Ver Mensaje
Pues de alguna manera debes de guardar un valor único de ese registro para que compares ese valor justamente y evites volver a insertar el registro, debes de encontrar alguna columna y/o combinación de columnas que puedas decir, este registro es único y entonces no insertarlo y solamente generar el PDF...
Si muy buena idea, a nivel código sería ahí mismo en esa página que me genera el PDF?
__________________
"La verdadera clave de la grandeza es ser en verdad lo que aparentamos ser" -Sócrates
  #10 (permalink)  
Antiguo 27/11/2012, 16:24
Avatar de AndreaEstrada  
Fecha de Ingreso: noviembre-2012
Ubicación: Torreón
Mensajes: 54
Antigüedad: 12 años
Puntos: 0
Respuesta: Seguridad al generar un archivo PDF

Cita:
Iniciado por Javier01 Ver Mensaje
Creo que no tienes muchas posibilidades;
o usas algún dato como clave única (ejemplo, el mismo usuario no puede tener 2 registro del mismo oficio).
o haces el insert en una pagina aparte, tal vez en una intermedia, que guarde los datos, y luego pase a otra que presente el PDF.
La pregunta es, que pasa si el usuario llena el formulario varias veces con los mismos datos? se guarda el registro varias veces? controlas eso?
Saludos
Clave única no así especificada en la lógica de la BD, pero sí tengo un número de oficio (Ejemplo: 2/2012) el segundo oficio del año 2012. Y no estoy controlando eso último que me dices, ¿como lo puedo hacer?
__________________
"La verdadera clave de la grandeza es ser en verdad lo que aparentamos ser" -Sócrates
  #11 (permalink)  
Antiguo 27/11/2012, 16:25
Avatar de AndreaEstrada  
Fecha de Ingreso: noviembre-2012
Ubicación: Torreón
Mensajes: 54
Antigüedad: 12 años
Puntos: 0
Respuesta: Seguridad al generar un archivo PDF

Cita:
Iniciado por GatorV Ver Mensaje
Otra opción es que primero insertes, posteriormente hagas un header() y con un location a otra pagina donde solamente se genere el PDF en base a un id que le pases (ese id puede ser el del folio del oficio) así solamente se va a generar el PDF y no a insertar.

Saludos.
Si verdad, así separo la lógica de la inserción con la de la generación y evitar que esten juntos y me causen problemitas !!
__________________
"La verdadera clave de la grandeza es ser en verdad lo que aparentamos ser" -Sócrates

Etiquetas: pdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:26.