Jump to content


Photo

Erro Sessão : Urgente


  • Faça o login para participar
14 replies to this topic

#1 actos

actos

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 15/07/2004, 12:09

Olá,

Estou com o seguinte problema:
varios clientes que entram no meu site estão ficando com o mesmo id da sessão...

Vamos a estrutura do site:

Cliente entra na primeira página:
Gravo a sessao com o codigo do parceiro que indicou
session_start(); 
 $sessao[0]="$parceiro"; 
	session_register("sessao");

Quando vai no carrinho de compras, e calcula o frete, gravo na sessao o frete
session_start("sessao");
$sessao[1]="$frete";
session_register("sessao");

Quando vai logar, gravo mais algumas varíáveis:
session_start("sessao");
$sessao[2] = "$id_cliente";
$sessao[3] = "$cod";
$sessao[5] = "$ip";

Acontece que tem varios clientes que estão pegando o mesmo ID da sessão.
Fiz um log e veja o resultado:

15-07-2004 - 09:31 - 200.206.161.84 - 2b053ec809c3faaca7c22c98b2506575
15-07-2004 - 09:40 - 200.206.161.84 - 226f0e10d001523e8418bb177e42f789
15-07-2004 - 09:43 - 200.206.161.84 -226f0e10d001523e8418bb177e42f789
15-07-2004 - 09:47 - 200.186.138.196 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 09:52 - 200.208.15.217 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 09:57 - 200.206.161.84 - a412572e2fbd074668594d1d17507988
15-07-2004 - 10:04 - 200.165.22.76 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:06 - 200.157.129.80 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:11 - 200.189.237.185 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:12 - 200.206.161.84 - 1b326bef591f8bbf6825c46ca3d12b1d
15-07-2004 - 10:12 - 200.252.60.226 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:14 - 200.206.161.84 - 1b326bef591f8bbf6825c46ca3d12b1d
15-07-2004 - 10:17 - 200.161.134.208 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:17 - 201.3.14.20 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:23 - 200.246.4.10 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 10:49 - 200.206.161.84 - eac6fdb77ffc387d5ebb1724bcd5b6e2
15-07-2004 - 11:08 - 200.206.161.84 - eac6fdb77ffc387d5ebb1724bcd5b6e2
15-07-2004 - 11:08 - 200.135.4.17 - 985510b713727820ab8deb9f49cfc02d
15-07-2004 - 11:31 - 201.8.154.118 - e4300c661f101ad362376d62495261a2
15-07-2004 - 11:36 - 200.206.161.84 - 9c058bcb3dd9bb16f82bac3efce1aa49
15-07-2004 - 11:49 - 200.138.148.2 - 9c8c6ad7677339cf7a39b27027a350bb

Como podem ver acima, varios IPs diferentes estão pegando o mesmo ID da sessão....

Alguem sabe o que pode estar acontecendo... tem alguma idéia...

PS: passo os IDs através da URL, mas gero eles randomicamente... então não acredito que seja isso que esteje passando o mesmo id.. já que cada conexão deveria gerar um novo ID...

Abraços a todos....

obrigado.

Actos.

Edição feita por: actos, 15/07/2004, 22:05.


#2 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 15/07/2004, 13:12

Tem certeza que são clientes diversos?
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#3 hail

hail

    Normal

  • Usuários
  • 78 posts
  • Sexo:Não informado

Posted 15/07/2004, 13:38

COMO q vc gera os ID ? md5() oq ?

vamos por partes, quem sabe axamos o "erro"...

=/

#4 actos

actos

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 15/07/2004, 22:03

Tem certeza que são clientes diversos?

Olá,

sim, pois varios estão reclamando que aparecem produtos no carrinho que ele não escolheu e some os deles... etc... uso o ID da sessão para o carrinho...

#5 actos

actos

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 15/07/2004, 22:05

COMO q vc gera os ID ? md5() oq ?

vamos por partes, quem sabe axamos o "erro"...

=/

olá,

o ID uso automático, através da variavel $PHPSESSID...
depois que gero a sessao pego este valor e vou mexendo com ele.

E principalmente pelo código do log que colei.. veja que são ips distintos... quase que ao mesmo tempo... ou seja, varios usuarios ao mesmo tempo pegando valores da sessao.

Abraços

Willians

Edição feita por: actos, 15/07/2004, 22:06.


#6 hail

hail

    Normal

  • Usuários
  • 78 posts
  • Sexo:Não informado

Posted 16/07/2004, 00:09

Soh por desencargo de conciencia, gere vc mesmo os IDs...

Algo do tipo

md5( ip_do_cabloco . time() )

se o fluxo for grande, concatena ae microtime() p "aumentar a precisao" !

[]s

#7 actos

actos

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 16/07/2004, 00:19

Soh por desencargo de conciencia, gere vc mesmo os IDs...

Algo do tipo

md5( ip_do_cabloco . time() )

se o fluxo for grande, concatena ae microtime() p "aumentar a precisao" !

[]s

obrigado... vou tentar para ver se resolve...


valeu

#8 Alexx Ares

Alexx Ares

    Doutor

  • Usuários
  • 921 posts
  • Sexo:Masculino
  • Localidade:Santos - SP

Posted 16/07/2004, 00:39

Tipo, eu me embaralho um pouco com as funções de SESSIONS, mas se ele está declarando session_register("sessao"); não quer dizer que todas as sessões serão "sessao"??

Não pode ser por isso que está repetindo?

Se falei besteira, ignore... :ph34r:

(y)
||| PENSE NISSO ||| O ser humano, dizem, deve dormir 8 horas por dia. Isso equivale a 1 terço do seu dia dormindo. Agora imagine a seguinte situação: você, com 75 anos, prestes a morrer, olha para trás e percebe que dormiu 1 terço da sua vida, ou seja, 25 anos. Cara... 25 ANOS DORMINDO !!! Se você tem menos de 25 anos, simplesmente você vai dormir mais do que viveu até hoje!!! Pense nisso... e durma menos.

#9 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 16/07/2004, 08:30

Vc tah dando o session_id() em algum lugar do código?

Alexx session_register() registra uma variável na sessão...

Edição feita por: fly2k, 16/07/2004, 08:30.

Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#10 Alexx Ares

Alexx Ares

    Doutor

  • Usuários
  • 921 posts
  • Sexo:Masculino
  • Localidade:Santos - SP

Posted 16/07/2004, 15:16

ops, é mesmo... hehe.. :rolleyes:

E para que dar o mesmo nome no session_start()? :huh:

Quando eu uso sessuins eu apenas faço session_start() sem nenhum nome...

E seto as variáveis com $_SESSION[] ou algo parecido ( não lembro no momento ).

(y)
||| PENSE NISSO ||| O ser humano, dizem, deve dormir 8 horas por dia. Isso equivale a 1 terço do seu dia dormindo. Agora imagine a seguinte situação: você, com 75 anos, prestes a morrer, olha para trás e percebe que dormiu 1 terço da sua vida, ou seja, 25 anos. Cara... 25 ANOS DORMINDO !!! Se você tem menos de 25 anos, simplesmente você vai dormir mais do que viveu até hoje!!! Pense nisso... e durma menos.

#11 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 16/07/2004, 20:03

não a necessidade de colocar session_name();
+ olhe isso

www.php.net?session_name

$_SESSION['nome'] = $nome;

até + !!!
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#12 actos

actos

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 16/07/2004, 20:05

ops, é mesmo... hehe.. :rolleyes:

E para que dar o mesmo nome no session_start()? :huh:

Quando eu uso sessuins eu apenas faço session_start() sem nenhum nome...

E seto as variáveis com $_SESSION[] ou algo parecido ( não lembro no momento ).

(y)

Olá,

sinceramente eu não sei porque dei o mesmo nome.. estava funcionando...

Quanto ao session_id, não utilizo.. este sim daria o mesmo nome a todas as sessoes...

Fiz alguns testes tirando o session_start("sessao") e usando o session_start(); e ele registra uma nova sessao... muda o id...

O que acham de parar de passar o Session id pelas urls e depender somente de cookies ?

#13 gregorytg

gregorytg

    Mestre

  • Usuários
  • 632 posts
  • Sexo:Não informado

Posted 17/07/2004, 00:46

Cookies é um pouco relativo, e pode tornar o computador do cliente um pouco pesado. ou as vezes nem acessar.
nã osei se esta me entendendo
"Porque o Senhor será a tua confiança, e guardará os teus pés de serem presos". \o/

#14 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 17/07/2004, 01:10

ops, é mesmo... hehe.. :rolleyes:

E para que dar o mesmo nome no session_start()? :huh:

Quando eu uso sessuins eu apenas faço session_start() sem nenhum nome...

E seto as variáveis com $_SESSION[] ou algo parecido ( não lembro no momento ).

(y)

Olá,

sinceramente eu não sei porque dei o mesmo nome.. estava funcionando...

Quanto ao session_id, não utilizo.. este sim daria o mesmo nome a todas as sessoes...

Fiz alguns testes tirando o session_start("sessao") e usando o session_start(); e ele registra uma nova sessao... muda o id...

O que acham de parar de passar o Session id pelas urls e depender somente de cookies ?

Bem eu nunca esse negócio de passar pela URL o id da session e se você quer passar um id de session que seja respectivo para a session da pessoa tem que usar o session_id();

Esta função é feita para isso nunca que ele vai dar a mesma para todas as sessions o erro deve estar nisso você naum usar ela ;)

#15 actos

actos

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 17/07/2004, 14:29

quanto ao problema a sessao acho que resolveu... fiz várias alterações, refiz os scripts e pronto.. não sei exatamente o que estava causando este erro...

estarei abrindo outro tópico, para saber opiniões sobre Passar ou não o ID da sessão pela URL.

Abraços a todos que ajudaram neste tópico.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq