Jump to content


Photo

Cookie....


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

#1 Fredera

Fredera

    Normal

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

Posted 21/12/2005, 11:05

Fala pessoal... tudo certo?
estou implementando um sistema online pra empresa, e tenho que colocar algum tipo de segurança, pensei em usar Session, o que vcs acham?
Mas não encontrei nenhum documento de implementação...
Alguém conhece algum tutorial ou documento que me fale como utilizar o session, fora o site da CPAN.

No aguardo

Fred

Edição feita por: Fredera, 27/12/2005, 10:01.

"A humanidade está perdendo seus maiores gênios...
Aristóteles já morreu a séculos, Newton bateu as botas faz tempo, Einstein morreu, e eu não tô passando muito bem... " rs

#2 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 21/12/2005, 12:34

tem vários métodos, restringir pelo IP + cookie, restringir tbm por tempo, etc...

#3 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 22/12/2005, 06:36

uma vez eu fiz o seguinte
criei um rand com numeros e letra
ai fico assim
ex: ahwd89wey88ra823h
gravei num bd com o tipo de limitação do cliente
tipo
session|hora|limitacao|user
ahwd89wey88ra823h|100554828|geral|gabriel

ai eu criei um cookie com o login do cliente
aieu so vasculhava o que podia ou não ser feito sem passas dados nenhum, pois o script ja sabia, ai as urls todas ficavam assim
site.cgi?session=ahwd89wey88ra823h
grava.cgi?session=ahwd89wey88ra823h

ai abria o bd, via o que podia ser feito ou nao, gravava a nova hora e pronto

ai tinha o script em cron que verificava a hora tipo o user-online e excluia a session antiga com mais de 10 minutos

é bom gjeito de pelo menos simula a session, funcina pelo menos
abraços
Editado pela equipe Forum Wmo, favor ler as regras.

#4 Fredera

Fredera

    Normal

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

Posted 22/12/2005, 12:49

valeu Gabriel...
estava pensando justamente em fazer alguma coisa assim mesmo...
onde encontro material pra mecher com cookies?
Abraços!!
"A humanidade está perdendo seus maiores gênios...
Aristóteles já morreu a séculos, Newton bateu as botas faz tempo, Einstein morreu, e eu não tô passando muito bem... " rs

#5 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 23/12/2005, 15:26

módulo CGI é ótimo para mexer com Cookies e muito simples ;)

e o esqueça de sessão ("session") é aquelo mesmo que o Gabriel disse... vc gavra o ip, id da sessão e nome do usuário em um banco de dados...

abração e feliz natal ;)

Edição feita por: jgcl, 23/12/2005, 15:26.

João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#6 Fredera

Fredera

    Normal

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

Posted 27/12/2005, 09:31

Fala pessoal...
eu estou tentando fazer o seguinte com a questão de cookies...


use CGI::Cookie;
   
$cookie = new CGI::Cookie(-name=>'teste _tmg',
    -value=>"$login",
    -expires=>'+4m',
    -path=>'/',
    -domain=>'www.tmg.agr.br');
print $query->header(-cookie=>$cookie);
print $query->start_html('My cookie-set.cgi program');
print $query->h3('The cookie has been set');

Blz... até aít tudo certo...
mas ele não gera o bendito cookie... ele não tinha que criar na máquina do usuario um arquivo texto com a informação que eu passei?
pois bem... não cria...
algo errado??

No aguardo...
"A humanidade está perdendo seus maiores gênios...
Aristóteles já morreu a séculos, Newton bateu as botas faz tempo, Einstein morreu, e eu não tô passando muito bem... " rs

#7 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 27/12/2005, 12:51

use CGI::Session qw/-ip-match/;

$path_sessoes = '/home/seusite/cgi-bin/sessoes'; # local onde as sessoes sao armazenadas

$session = new CGI::Session("driver:File",undef,{'Directory'=>"$path_sessoes"});
$session->param('teste _tmg',"$login");
$session->param('_IDLE_EXPIRY' => time + 1800);
$session->expire('+1d');
$sid = $session->id();

print "Location: [url="http://www.seusite.com/index.cgi?sid=$sid\n\n";"]http://www.seusite.com/index.cgi?sid=$...n\n";[/url]


$sid eh o id da sessao q deve ser levado como no exemplo de redireção o location para que vocÊ nao precise de cookie.

para ler

$form = new CGI;
$sid = $form->param('sid');

unless ($sid ne '') {
  print "Content-Type: text/html\n\n";
  print('Atenção: Sua sessão não eh reconhecida.');
  exit;
}

CGI::Session->name($scookie);
$session  = new CGI::Session("driver:File",$sid,{'Directory'=>"$path_sessoes"}) or die "$!";
$login = $session->param('teste _tmg');


print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#8 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 27/12/2005, 14:37

Eu faço assim e sempre funciona....

use CGI;
$cookie1 = $query->cookie(-name=>'nomecookie',
                             -value=>'valor',
                             -expires=>'+5m', 
                             -domain=>'dominio',
                             -secure=>0);
	
print "Set-Cookie: $cookie1\n";

testa ai...

o tempo "+5m" é pra renovar o cookie em 5 minutos... pode ser em horas "+5h" e segundos tb "+5s"...

flw
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#9 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 29/12/2005, 18:24

Prix, o chato de usar o "CGI::Session" é que no link você tem que levar o ID da sessão... =/
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#10 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 30/12/2005, 15:59

voce leva o id da sessao que eh muito mais bem armazenado e controlado, e q nao sera roubado entrando em outros sites.

voce pode controlar se o usuario entrou ou nao, quantas vezes ele errou a senha ou nao e bloquea-lo, dentre outras coisas que podem ser feitas de uma maneira mais simples.

com o cookie o cookie por ser roubado e dependendo de como eh criado pode ser reproduzido.

o cookie nem sempre funciona para todos os usuarios, dependendo de spybot e outros programas os cookies tambem podem bloquear o site no computador do usuario.

Dependendo das regras de privacidade os cookies nao funcionaram.

exemplos: esse forum mesmo usa sessao.

hoje em dia o cookie deve ser usado para coisas alternativas como exemplo: salvar se o cara excolheu sim ou nao coisas nao importantes em resumo

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.




1 user(s) are reading this topic

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

IPB Skin By Virteq