Foros del Web » Programando para Internet » PHP »

ocultar id

Estas en el tema de ocultar id en el foro de PHP en Foros del Web. Estoy haciendo un sistema de mensajes. La información se muestra en una tabla y cada td tiene el id del mensaje(<td id=’mensaje_1’></td>) por si el ...
  #1 (permalink)  
Antiguo 06/08/2012, 06:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
ocultar id

Estoy haciendo un sistema de mensajes. La información se muestra en una tabla y cada td tiene el id del mensaje(<td id=’mensaje_1’></td>) por si el usuario lo quiere borrar. Lo que no me gusta es que la gente pueda ver los id de cada uno de los mensaje. Que podría hacer para no mostrarlo??
  #2 (permalink)  
Antiguo 06/08/2012, 07:03
Avatar de topo_bionico  
Fecha de Ingreso: junio-2012
Mensajes: 89
Antigüedad: 11 años, 10 meses
Puntos: 20
Respuesta: ocultar id

No entendí la parte de que el usuario puede borrar mensajes, puede borrar cualquier mensaje o solo los que cargó él mismo?
  #3 (permalink)  
Antiguo 06/08/2012, 07:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: ocultar id

Si es un enlaces es complicado ocultarlo, entu caso yo usaría un formulario por método post.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 06/08/2012, 08:48
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ocultar id

Hola, creo que ya entendi lo que necesitas (o por lo menos me imagino). Cuando uno mira el codigo fuente html de la pagina se puede mirar el id que tiene el mensaje. Bueno pues si los id ya han sido guardados así y no los puedes modificar lo que podrias hacer es generar cadenas aleatorias y concatenarlas al id original, de esa manera pareceria que el id lo forma todo el número ej:

rTNHVTQ#3 (id original)IUNYBfd45Ñ

Luego si la persona desea borrar el mensaje pues vuelves a recuperar el id original en el respectivo script.

No es la única manera de hacerlo pero yo lo implemente alguna vez y es una alternativa. Si alguien tratara de sabotear la base de datos quedaria confundido porque siempre se generaria un codigo "diferente" para el mismo mensaje.
__________________
Blog de humor http://elcuasatar.net63.net/
  #5 (permalink)  
Antiguo 06/08/2012, 08:59
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ocultar id

Cita:
Iniciado por cuasatar Ver Mensaje
Hola, creo que ya entendi lo que necesitas (o por lo menos me imagino). Cuando uno mira el codigo fuente html de la pagina se puede mirar el id que tiene el mensaje. Bueno pues si los id ya han sido guardados así y no los puedes modificar lo que podrias hacer es generar cadenas aleatorias y concatenarlas al id original, de esa manera pareceria que el id lo forma todo el número ej:

rTNHVTQ#3 (id original)IUNYBfd45Ñ

Luego si la persona desea borrar el mensaje pues vuelves a recuperar el id original en el respectivo script.

No es la única manera de hacerlo pero yo lo implemente alguna vez y es una alternativa. Si alguien tratara de sabotear la base de datos quedaria confundido porque siempre se generaria un codigo "diferente" para el mismo mensaje.
Tiene un "pequeño" problema ese método... cualquiera q sea un pelín avispado, y con algo de suerte, con 4 pruebas ya es capaz de obtenerte el id..

Imagina q el id es 5, y ves esto:


AFGH5HGFA
BKLI5LKOI
789751234
.-,+5-.,+

Rápidamente, podría deducir que el 5 es el elemento en común (alguien acostumbrado a buscar estas cosas, las encuentra rápido!).

Yo le añadiria algunos elementos "estáticos"(o calculados segun el ID) antes y después, para liar más al posible atacante

De todas formas, me parece un buen método alternativo, me ha gustado la idea ^^
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 06/08/2012, 09:06
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ocultar id

Jaja bueno concuerdo contigo Eleazan que siempre existira gente maliciosa que intentara sabotear las cosas. Igual si se le quiere añadir mas dificultad a la propuesta que hice se le puede hacer un base64_encode y poner al reves la cadena, con eso ese 5 que pones de ejemplo quedaria aun mas oculto.

Cita:
Yo le añadiria algunos elementos "estáticos"(o calculados segun el ID) antes y después, para liar más al posible atacante
Concuerdo con esa idea, podria darle mayor seguridad.
__________________
Blog de humor http://elcuasatar.net63.net/
  #7 (permalink)  
Antiguo 06/08/2012, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ocultar id

<ironia><sarcasmo>¡Claro siempre seguridad por oscuridad es lo mejor!</sarcasmo></ironia>

Ahora, si lo que quieres es realmente proteger tu sistema, primero siempre verifica que la acción que va a realizar el usuario sea autorizada NUNCA confies en los datos que te manda el navegador, todos, son modificables, mejor ten controles de acceso en el servidor donde verifiques que el usuario a borrar o modificar sea permitido y en caso contrario niegas el acceso.
  #8 (permalink)  
Antiguo 06/08/2012, 15:23
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: ocultar id

Cita:
Iniciado por cuasatar Ver Mensaje
Hola, creo que ya entendi lo que necesitas (o por lo menos me imagino). Cuando uno mira el codigo fuente html de la pagina se puede mirar el id que tiene el mensaje. Bueno pues si los id ya han sido guardados así y no los puedes modificar lo que podrias hacer es generar cadenas aleatorias y concatenarlas al id original, de esa manera pareceria que el id lo forma todo el

si, es esto lo que quier hacer. Estuve mirando en facebook para ver como hacen el tema de enlaces con id y es un poco raro porque son numeros muy largos. alguien sabe que sistema utilizaran??


se me ocurrió generar en todas las paginas que pase el id en md5 de esta forma nunca sabrán el id. que les parece??
  #9 (permalink)  
Antiguo 06/08/2012, 15:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: ocultar id

La verdad es que es triste ver como se pierde tiempo en "problemas" tan triviales, ya que viendo las cosas, ¿que hay de malo en que el usuario pueda ver los IDs?

Si alterando su valor puede hacer cosas que no le corresponden entonces la solución no está en ocultar el ID sino en corregir el sistema, seguro ahí hay una mala implementación.

No entiendo, la verdad que no entiendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 06/08/2012, 16:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ocultar id

Cita:
Iniciado por pateketrueke Ver Mensaje
La verdad es que es triste ver como se pierde tiempo en "problemas" tan triviales, ya que viendo las cosas, ¿que hay de malo en que el usuario pueda ver los IDs?

Si alterando su valor puede hacer cosas que no le corresponden entonces la solución no está en ocultar el ID sino en corregir el sistema, seguro ahí hay una mala implementación.

No entiendo, la verdad que no entiendo.
Ni tu ni yo, pero bueno supongo que el método de seguridad por obscuridad funciona para algunos casos, aunque he visto que muchos usan esa manera en sistemas grandes (es de espantarse).

Pero eventualmente corrigen el error, lo que involucra mucho tiempo de desarrollo...
  #11 (permalink)  
Antiguo 06/08/2012, 21:00
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: ocultar id

Cita:
Iniciado por Blashak Ver Mensaje
si, es esto lo que quier hacer. Estuve mirando en facebook para ver como hacen el tema de enlaces con id y es un poco raro porque son numeros muy largos. alguien sabe que sistema utilizaran??


se me ocurrió generar en todas las paginas que pase el id en md5 de esta forma nunca sabrán el id. que les parece??
como dicen por ahi.. no hay necesidad.. pero si te parece lo que podrias hacer con md5 tambien es
"texto a md5" = 8a7s6f8asd7 (no es cierto pero tomalo como que si! XD)
a 8a7s6f8asd7 lo cortas en 8 caracteres.. dejandolo asi: 8a7s6f8a
eso aria prácticamente casi imposible de descifrar aun teniendo una lista de las traducciones a md5 de oraciones / palabras..

a este de ultima tambien podrias agregarle Salt
pero xD.. ya ahi no entiendo para que tanta seguridad..
  #12 (permalink)  
Antiguo 07/08/2012, 03:19
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ocultar id

Cita:
Iniciado por Blashak Ver Mensaje
se me ocurrió generar en todas las paginas que pase el id en md5 de esta forma nunca sabrán el id. que les parece??
MD5? Sólo eso? Busca un hash md5 en google y tendrás el origen...

Ahora, de todas formas, tienes q ser capaz de "descodificarlo". Si recibes una peticion a cierto ID, y ese ID está en md5.. ¿qué haces? ¿Vas ID por ID de tu bbdd pasandolos a MD5 a ver si coincide alguno? :/

Yo nunca he utilizado "ofuscación", "oscuridad", o como quieras llamarlo... por mucho ID q se vea, si no dejas q se use mal, poco podrán hacer! :)
__________________
>> Eleazan's Source
>> @Eleazan
  #13 (permalink)  
Antiguo 07/08/2012, 04:09
 
Fecha de Ingreso: diciembre-2002
Ubicación: bilbao
Mensajes: 345
Antigüedad: 21 años, 5 meses
Puntos: 3
Respuesta: ocultar id

Securiza tu sistema y no pierdas el tiempo en eso, y si quieres que no quede 1,2,3,4 por "estética" puedes convertirlo con base64, que aunque se pueda decodicifar no van a poder hacer nada si tu sistema es seguro. Como te han dicho por ahí arriba, preocupate de la seguridad y déjate de "tonterías"
__________________
aste nagusia
  #14 (permalink)  
Antiguo 07/08/2012, 06:38
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ocultar id

Creo que ya todo el mundo lo ha comentado pero no sobra comentar un poco mas sobre el tema. No creo que "ocultar" el id sea malo (eso ya es algo que debe evaluar cada desarrollador), sin embargo tal y como te lo comentan lo verdaderamente importante es darle la máxima seguridad posible al sistema. Ya que como dices que planeas utilizar el sistema para que el usuario borre mensajes se deben tener en cuenta detalles como:

-Verificar que solo usuarios certificados puedan acceder a ese lugar.
-Comprobar con variables de sesión adicionales que el usuario si es un usuario certificado y no es un ataque externo.

Yo recomiendo algunos buenos artículos de está página para mejorar la seguridad de los sistemas. Su lectura me ha servido mucho para aprender un poco más de seguridad, aunque en estas cosas nunca se ha dicho la última palabra al respecto.

http://phpsec.org/

Ademas recuerda que si un usuario avezado hace un ataque de inyección sql bien hecho tu ofuscación no servira para nada porque tendra toda la información de tu base de datos a la mano.

Cita:
Estuve mirando en facebook para ver como hacen el tema de enlaces con id y es un poco raro porque son numeros muy largos. alguien sabe que sistema utilizaran??
Uhmm mala espina me da que tu mejor referencia de seguridad sea facebook.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 07/08/2012 a las 06:51
  #15 (permalink)  
Antiguo 09/08/2012, 08:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: ocultar id

pero hay cosas que no se pueden controlar, un ejemplo.
pueden cambiar el id del mensaje, 7 -> 10 y enviar ese mensaje a otra persona y eso no se puede controlar.

cuasatar, a que te referis con esto
Verificar que solo usuarios certificados puedan acceder a ese lugar.??
  #16 (permalink)  
Antiguo 09/08/2012, 09:30
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ocultar id

Cita:
Iniciado por Blashak Ver Mensaje
pero hay cosas que no se pueden controlar, un ejemplo.
pueden cambiar el id del mensaje, 7 -> 10 y enviar ese mensaje a otra persona y eso no se puede controlar.

cuasatar, a que te referis con esto
Verificar que solo usuarios certificados puedan acceder a ese lugar.??
Es fácil. Si el usuario no puede acceder al 10 / enviarlo / modificarlo, etc... ¿Pq no controlas eso? Ese es el punto.. más q ocultarlo..
__________________
>> Eleazan's Source
>> @Eleazan
  #17 (permalink)  
Antiguo 09/08/2012, 12:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ocultar id

hola amigos y no seria mas simple no mostrar id=mensaje_1 y ya esta si lo que le interesa es que no se vea , crea un campo en la tabla del usuario o otra tabla para solo controlar esto relaccionada con el usuario ,para controlar la accion de borrar mensajes etc..., no se es una idea por ejemplo

kike= kjh3u4y78y3hgu4ih37y4873yhu4h3y
jacobo= mjb3uy5gyuy5g35g73g57g37g75g73g5

$cif = sha1($kike); // por ejemplo puedes pasarle md5 un salt sha1 base64_encode etc.....

<td token=$cif></td>

asi sera muy dificil que un usuario pueda mandar un mensaje modificando la id , ademas ya no pasas la id y no identificas a un usuario por su id en un mensaje

y la id la controlas por session , ahora ya son 2 datos que verificar para que un usuario pueda borrar mandar etc.. mensajes , aunque yo lo haria aun mucho mas fuerte , la seguridad y la privacidad es lo primero

Última edición por webankenovi; 09/08/2012 a las 12:41
  #18 (permalink)  
Antiguo 09/08/2012, 14:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ocultar id

Sigue siendo seguridad por oscuridad, lo mejor nuevamente lo digo, es validar en el servidor, si el usuario puede mandar un mensaje a ese otro usuario, en caso de que no le mandas un mensaje de error, así ya si el usuario cambia el ID pues sera mucho su problema, si esta dentro los permisos.

Siempre es bueno tener un ACL para ello, validar en el servidor que X usuario puede hacer Y acción, si confías en lo que viene por POST o GET, pues ahí es donde te pueden atacar...
  #19 (permalink)  
Antiguo 10/08/2012, 14:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: ocultar id

Cita:
Iniciado por GatorV Ver Mensaje
Sigue siendo seguridad por oscuridad, lo mejor nuevamente lo digo, es validar en el servidor, si el usuario puede mandar un mensaje a ese otro usuario, en caso de que no le mandas un mensaje de error, así ya si el usuario cambia el ID pues sera mucho su problema, si esta dentro los permisos.

Siempre es bueno tener un ACL para ello, validar en el servidor que X usuario puede hacer Y acción, si confías en lo que viene por POST o GET, pues ahí es donde te pueden atacar...
Estoy de acuerdo con vos, pero, no hay forma de validar en servidor que ese usuario pueda enviar el mensaje a ese id o a otro.
Como lo harían?
  #20 (permalink)  
Antiguo 10/08/2012, 14:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ocultar id

A ver, un poco de seguridad:

1- El usuario solicita el mensaje con ID 1525
2- Primero que nada, se debe tratar de un usuario registrado, si no lo es, die()
3- Buscas el mensaje en base de datos, si no existe, die()
3- Lees el mensaje, seguramente tienes una columna para saber a quien pertenece, digamos que es "owner"
4- Si "owner" no es igual a la ID de usuario en sesión, die()

Si tienes perfiles o grupos de usuarios, entonces tal vez también debas revisar permisos, si puede enviar, modificar, eliminar, etc.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: tabla, usuarios
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 06:58.