Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/08/2012, 13:08
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: saber cuando un usuario copia texto

Supongo que debo ser nefasto explicando cosas, ya que siempre que posteo algo la gente me dice que no entiende...

La cosa es sencilla. Imagina una web. Dentro de esta web hay una página llamada "miPagina.php". Esta "miPagina.php" recibe un parámetro get, llamémosolo "elemento". Este "elemento" viene encriptado de manera simétrica, con un hash (md4, md5, sha1, aes...). El "problema" es que es un hash granulado. Este granulado varia de cada sesión.

¿Qué significa eso?

Sencillo: si tu quisieras entrar en miweb/mipagina.php?elemento=1, realmente te mandaría a miweb/mipagina.php?elemento=(hash+granulado), de manera que dos personas conectadas a mipagina.php, viendo el mismo elemento tendrán diferente parámetro GET.

Luego, con php ya me las apaño para buscar el elemento, eso no viene al caso.

Lo que pasa, es que si yo te envío el link que me sale a mi, tu no verás nada, porque el granulado depende de la sesión, y la sesión viene granulada también, y entonces no se podría saber a qué elemento hacía yo referencia cuando te pasé el link.

Entonces, lo que quiero es saber cómo (no quiero ejemplos, es más, no me gustan que me den una "solución mágica", solo necesito saber cómo empezar, ya que no lo he encontrado por ninguna parte) puedo tratar el evento, handler o lo-que-sea que pueda usar para saber cuándo un usuario está haciendo un "copiar", para simplemente tratar el los enlaces que puede que esté seleccionando.

Esto lo busco porque creo que poner un botón de "copia esto al portapapeles" es algo bastante burdo y aumentaría el golf de ejecución de la web.

Espero que así sí se entienda, que cuando intento explicar las cosas con ejemplos "mundanos" nadie me entiende... no creo que sea tan difícil.

Para que esté más claro:

sha1(11) = 17ba0791499db908433b80f37c5fbc89b870084b

si yo granulo el hash, añadiendo, por ejemplo un número de sesión aleatorio (suponiendo que tengo la sesión 11):

sha(1111) = 011c945f30ce2cbafc452f39840f025693339c42

si te lo envío a tí (digamos que tienes la sesión 22), tu el elemento lo verías como

sha(1122) = 00fd4b4549a1094aae926ef62e9dbd3cdcc2e456

pero recibes mi hash, por lo que no puedes ver lo que te mando.

Tengo una función intermedia que arregla esto, pero para ello tengo que cambiar el link que copia el usuario. Solo eso.