PHP: Problema son sesiones y usuarios desde EE.UU.
Hola socios...
Os cuento una incidencia con la que me he encontrado...
Tenemos un cliente con una tienda online, el usuario al agregar un producto a la cesta, se genera un GUID y se almacena en una variable de sesión.
Con esta variable de sesión cada vez que agrega otro producto a la cesta se gestióna el ID del pedido, evidentemente 1 GUID = 1 PEDIDO, de esta manera se van creado las lineas de pedido, y el ID del pedido lo obtenemos a partir del contenido de la variable de sesión que almacena el GUID.
El tema esta en que con usuarios de españa/europa no tenemos ningún problema, pero me he dado cuenta que los usuarios con IP de U.S.A, cada vez que agregan un producto a la cesta se les genera un pedido nuevo... entonces, para esto solamente me queda una explicación y es que el PC de estos americanos se pase las variables de sesion por el forro de los calzones....
Os habéis encontrado con esto alguna vez?
Me han comentado algo sobre la configuración del servidor... que tendría que activar/desactivar el use_only_cookies...
He mirando el phpinfo y esta variable la tengo en Off...
Después de leer en un par de foros, también he leído que otra solución que se toma es propagar el GUID por la URL (cosa que a mi no me agrada mucho...)
Habéis tenido que lidiar con algún problema parecido?
Un saludo compañeros.
markshock
markshock
<div class="quote">
Deck1
<blockquote>De nada hombre, para eso estamos ;)
<div class="quote">
markshock
<blockquote> luego si le das al boton de ir hacia atras del navegador pues siempre te pregunta.. quiere volver a enviar los datos por POST.. bla bla bla...
</blockquote>
</div>
Si lo haces bien no deberia salirte eso:
http://www.google.es/search?hl=es&q=avoid+postdata+resend+warning&btnG=Buscar&meta=
Básicamente, una vez recibidos los datos en servidor, en lugar de mostrar la página solocitada, haces una redirección.</blockquote>
</div>
Me lo mirare, y además por otro lado me han dado otra idea, tengo el robots.txt, pero no he restringido el acceso de los robots a la carpeta donde están los ficheros que gestionan el proceso de compra, que claro está no pasa nada si no acceden ahí.. vamos que mejor que mejor... :P
otra opción mas...
Ala, me voy a jalarme el bocata mortadela.
Venga pues, tema cerrado, ya he incorporado un link que es un javascript que pasa un parametro a un formulario oculto y despues hace el submit de un form para que el producto se añada a la cesta.
A parte de esto me he currado un simple if en la página que genera el proceso de agregar el producto a la cesta y crear el pedido que comprueba que en la url de donde viene contenga el dominio donde se encuentra la tienda, para mas seguridad...
Con esto y el enlace que me ha pasado el compañero Deck1 ha quedado el tema nikelao!!
Ahora solo falta ver si esta tarde-noche cuando despierten las máquinas americanas si se saltan esto o si por otra parte no sucede mas.
Por si alguien quiere echarle un visual, la web es: http://www.awesomershop.com
Un saludo y de nuevo, gracias Deck1 por tu dedicación al tema.
markshock
Deck1
De nada hombre, para eso estamos ;)
<div class="quote">
markshock
<blockquote> luego si le das al boton de ir hacia atras del navegador pues siempre te pregunta.. quiere volver a enviar los datos por POST.. bla bla bla...
</blockquote>
</div>
Si lo haces bien no deberia salirte eso:
http://www.google.es/search?hl=es&q=avoid+postdata+resend+warning&btnG=Buscar&meta=
Básicamente, una vez recibidos los datos en servidor, en lugar de mostrar la página solocitada, haces una redirección.
Me lo mirare, y además por otro lado me han dado otra idea, tengo el robots.txt, pero no he restringido el acceso de los robots a la carpeta donde están los ficheros que gestionan el proceso de compra, que claro está no pasa nada si no acceden ahí.. vamos que mejor que mejor... :P
otra opción mas...
Ala, me voy a jalarme el bocata mortadela.
Deck1
De nada hombre, para eso estamos ;)
markshock
luego si le das al boton de ir hacia atras del navegador pues siempre te pregunta.. quiere volver a enviar los datos por POST.. bla bla bla...
Si lo haces bien no deberia salirte eso:
http://www.google.es/search?hl=es&q=avoid+postdata+resend+warning&btnG=Buscar&meta=
Básicamente, una vez recibidos los datos en servidor, en lugar de mostrar la página solocitada, haces una redirección.
markshock
Deck1
Los bots. Es decir, para añadir productos a la cesta, tu utilizas un enlace normal, que lo pueden seguir los bots perfectamente, de ahi que te añadan productos continuamente (deberias cambiarlo por un formulario, para evitar que lo sigan los bots), pero a la hora de confirmar el pedido, creo que tienes un formulario, que al no poder rellenarlo, es un "callejón sin salida" para los bots, no para los usuarios.
vale ok ahora te entiendo... si, en una primera instancia lo pense... hacer un submit de un form, lo desestime por el tema de mandar datos por POST y luego si le das al boton de ir hacia atras del navegador pues siempre te pregunta.. quiere volver a enviar los datos por POST.. bla bla bla...
Pero veo que es imprescindible hacer el agregar producto con un envío de formulario, sino te trillan los bots de las pilots!
Gracias Deck1 por tu dedicación!
Deck1
Los bots. Es decir, para añadir productos a la cesta, tu utilizas un enlace normal, que lo pueden seguir los bots perfectamente, de ahi que te añadan productos continuamente (deberias cambiarlo por un formulario, para evitar que lo sigan los bots), pero a la hora de confirmar el pedido, creo que tienes un formulario, que al no poder rellenarlo, es un "callejón sin salida" para los bots, no para los usuarios.
markshock
Deck1
<div class="quote">
markshock
<blockquote>
case 2: que sean boots de google o de yahoo.. pero lo raro es que se hayan quedado clavados añadiendo productos a la cesta... eso es lo raro...</blockquote>
</div>
Si para continuar con el proceso de compra el botón de "checkout" es un botón de formulario, es normal que se queden ahi.
Por lo demás, por el comportamiento que apuntas, tiene toda la pinta de ser un bot.
Perdona ahora no te he entendido con lo del checkout... a quien te refieres que se quedan ahí, los usuarios o los bots?
Deck1
markshock
case 2: que sean boots de google o de yahoo.. pero lo raro es que se hayan quedado clavados añadiendo productos a la cesta... eso es lo raro...
Si para continuar con el proceso de compra el botón de "checkout" es un botón de formulario, es normal que se queden ahi.
Por lo demás, por el comportamiento que apuntas, tiene toda la pinta de ser un bot.
markshock
Deck1
Pudiera ser que un usuario de usa tenga restringidas las cookies, pero tambien puede ser que las tenga uno de salamanca. Intenta depurar el error, porque el hecho de ser un usuario de usa no es la causa de que las sesiones fallen, eso es 100% seguro.
Otra cosa es que esos "usuarios" sean los robots de google/yahoo/etc. que casi siempre tienen IP usa y no aceptan sesiones. Hazle un whois a esas IPs a ver si sacas algo en claro.
Lo de las cookies lo se, que tanto uno de salamanca como uno de la india las puede tener desactivadas...
Pero el caso es que esto se me ha dado con IP's de USA solamente....
He detectado este problema por que a lo mejor en el plazo de 2 minutos se han creado entre 20 y 30 pedidos diferentes (esto implica agregar como mínimo un producto a la cesta) desde la misma IP...
Y claro esta, hasta que el usuario no finaliza el pedido y/o cierra el navegador no se resetea la session y puede crear un pedido nuevo....
hasta donde me lleva esto....
caso 1: que sean PC's con cortafuegos antivirus o algun tipo de configuración muy especial.
case 2: que sean boots de google o de yahoo.. pero lo raro es que se hayan quedado clavados añadiendo productos a la cesta... eso es lo raro...
en fin todo un misterio... yo estoy mas por el caso 2, pero por eso preguntaba si alguien se ha encontrado algún caso extraño con usuarios de USA... con el tema de las sessiones o cookies...
Deck1
Pudiera ser que un usuario de usa tenga restringidas las cookies, pero tambien puede ser que las tenga uno de salamanca. Intenta depurar el error, porque el hecho de ser un usuario de usa no es la causa de que las sesiones fallen, eso es 100% seguro.
Otra cosa es que esos "usuarios" sean los robots de google/yahoo/etc. que casi siempre tienen IP usa y no aceptan sesiones. Hazle un whois a esas IPs a ver si sacas algo en claro.
markshock
pepevi
Las variables de sesión se administran en el servidor, no en el cliente por lo que no tiene absolutamente nada que ver con el PC donde se ejecute el php.
¿Cuántos PCs en USA has probado?
Si que tiene que ver.. si el usuario restringe las cookies de su navegador.
No digo que modificando la configuración del servidor esto se solvente, eso ya lo se. Consulto si alguien se ha encontrado este problema con usuarios que provienen de USA y si lo ha solventado de alguna manera...
;)
pepevi
Las variables de sesión se administran en el servidor, no en el cliente por lo que no tiene absolutamente nada que ver con el PC donde se ejecute el php.
¿Cuántos PCs en USA has probado?