Mi intencion es remunerar al autor por cada vez que se vea su reportaje, pero
mi problema es que quiero evitar la picaresca de "Actualizar" la pagina. Me podeis dar alguna idea?
Gracias y un saludo

| ||||
La variables de sessión funcionan muy bien en este sentido, aunque hay un problema, si el usuario "cierra" y "abre" de nuevo el navegador, se crea una nueva, con lo que no anulas la mala intención del usuario (si es que la hay) Para ello, a veces es preferible sacrificar un poco, pero en vez de por tu lado, por el lado del cliente (y digo esto porque de la forma que ahora explicaré, podría suceder muy remotamente que un usuario entrase en el reoprtaje desde un terminal público, por ejemplo, una univesidad o cibercafé, cerrase el navegador, y posteriormente entrase otro usuario diferente con el mismo terminal y dentro de un tiempo que luego detallaré para leer de nuevo ese reportaje. En este caso, esta segunda visita no contará, pero como he dicho, hay muuuuy pocas posibilidades de que esto suceda) El tema es "registrar" la IP del usuario en una BBDD, junto con la fecha actual de la lectura de ese reportaje. Luego, antes de aumentar el contador de dicho reportaje, se verifica si ese cliente ha accedido al mismo anteriormente, y si es así , que no esté en un rango de tiempo estipulado. Ejemplo: Queremos que cuando un usuario acceda a un reportaje por segunda vez, no se incremente el valor del contador, siempre y cuando este usuario no haya realizado esa lectura despues de 3 horas desde la primera. Osea, que si se lee el reportaje a las 14:00, y la segunda lectura es a las 14:30, ésta no se contabilice en el contador hasta que no hayan pasado 3 horas desde la primera lectura (14:00) Pues bueno, supongamos que en el reportaje titulado "AMAZONAS" entra un usuario con la ip 80.30.30.30 a las 20:30 de la tarde Luego, imaginemos que el usuario cierra el navegador (con esto ya eliminamos la variable de sessión, así que ya no nos serviría) y después de 45 minutos, abre uno de nuevo, vuelve a entrar y vuelve a visualizar el reportaje Pues antes de incrementar el valor del contador de ese reportaje, recuperamos de nuevo la IP del cliente, buscamos en la BBDD si existe alguna IP que coincida con la del cliente y que haya visto ese mismo reportaje (en este caso obtendremos un registro, el de las 20:30) En el caso de que exista un registro, recuperaremos la fecha/hora actual del sistema, y si la diferencia de la actual con la del registro es inferior a 3 horas, NO actualizaremos el contador, en caso negativo, es decir, que hayan pasado más de 3 horas desde el último acceso a ese reportaje, actualizaremos el valor del contador, y de paso, actualizaremos de nuevo ese registro con la nueva fecha/hora actual, por si de aquí a XX tiempo vuelve a leer el reportaje. No se si me he explicado bien, ya me comentarás xDDD Un saludo PD: Ojo, si al final te decides a utilizar esta forma, debes de tener muy en cuenta si existe algún Proxy entre el cliente y tu servidor (por ejemplo, los usuarios de ADSL de Telefónica navegan mediante proxy, por lo que TODOS los usuarios tienen la misma IP) Pero bueno, tambien hay solución para ello ;) Última edición por LeCLUB; 18/06/2004 a las 12:34 |
| ||||
************************************************** **** PD: Ojo, si al final te decides a utilizar esta forma, debes de tener muy en cuenta si existe algún Proxy entre el cliente y tu servidor (por ejemplo, los usuarios de ADSL de Telefónica navegan mediante proxy, por lo que TODOS los usuarios tienen la misma IP) Pero bueno, tambien hay solución para ello ************************************************** ****** Eso precisamente quería comentar, la gente que accede desde macro redes, como en mi caso (desde la empresa) todos tienen la misma IP, ¿Como lo controlas eso? Ah! y de paso dime como leches pones el cuadro ese tan majo para mencionar lo que dicen otros!! jejeje Salu2 |
| ||||
Cita: Encerrando el texto entre etiquetas [*QUOTE] y [*/QUOTE] (sin los "*") Ah! y de paso dime como leches pones el cuadro ese tan majo para mencionar lo que dicen otros!! |
| ||||
Cita: La solución radica en registrar 2 IP's del cliente, en vez de una, y para ello se utilizan las variables de servidor:
Iniciado por pempas ************************************************** **** PD: Ojo, si al final te decides a utilizar esta forma, debes de tener muy en cuenta si existe algún Proxy entre el cliente y tu servidor (por ejemplo, los usuarios de ADSL de Telefónica navegan mediante proxy, por lo que TODOS los usuarios tienen la misma IP) Pero bueno, tambien hay solución para ello ************************************************** ****** Eso precisamente quería comentar, la gente que accede desde macro redes, como en mi caso (desde la empresa) todos tienen la misma IP, ¿Como lo controlas eso? Ah! y de paso dime como leches pones el cuadro ese tan majo para mencionar lo que dicen otros!! jejeje Salu2 REMOTE_ADDR y REMOTE_HOST Un saludo
__________________ Documentación de VBScript V5.6 en Español: http://download.microsoft.com/downlo...ES/scd56es.exe |
| ||||
pempas, te respondío a tu pregunta dazuaga, 3 posts más arriba ;) [*QUOTE] esto es el texto que quieres encerrar [*/QUOTE] (quita los asteriscos para que funcione) Si quito los asteriscos quedaría así: Cita: esto es el texto que quieres encerrar
__________________ Documentación de VBScript V5.6 en Español: http://download.microsoft.com/downlo...ES/scd56es.exe |