Jump to content


Photo

O Que É Mais Seguro Cookie Ou Session


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

#1 Rafael :)

Rafael :)

    Aprendendo e ensinando PHP.

  • Usuários
  • 549 posts
  • Sexo:Não informado
  • Localidade:São Paulo
  • Interesses:Aprender PHP!

Posted 01/02/2004, 20:29

Pessoal, estou com um grande problema sobre isso.
Estou fazendo um sistema de login, eu quero que ele seja algo confiável e seguro!

Agora eu tô perdido, eu naum sei qual é omelhor para usar COOKIE ou SESSION???

Alguém pode me falar sinceramente qual é o melhor??

Deixe os seus motivos tb
Jesus:

Justiça
Esperança
Saúde
União
Salvação

Deus é fiel...

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 02/02/2004, 01:33

Olá. Eu considero session mais seguro. Primeiro que fica no servidor. Depois é só o cara desconectar ou demorar um pouco que ela expira. O cookie, às vezes por mais que você defina as opções, ele não expira. Então, mesmo a pessoa desconectando, quando ela voltar, ainda vai estar logada.

#3 Alexx Ares

Alexx Ares

    Doutor

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

Posted 02/02/2004, 02:55

Olha, sinceramente, eu ainda não usei sessions.
Aliás, vou começar a usar em um novo projeto!
Por isso eu quis participar desse tópico, principalmente para saber as diferenças entre sessions e cookies.
Pelo que eu vi até agora, session seria um "cookie no servidor"?
Se alguém puder citar algumas diferenças básicas seria legal.

Outra, LeoB, não entendi o que você quis dizer, mas sempre usei cookies, inclusive num sisteminha de login que verificava se estava logado e com tempo limite de inatividade (no caso, 10 minutos sem nenhuma ação do usuario logado ele era "expirado").... :huh:

Abraços!
||| 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.

#4 GifsBrasil

GifsBrasil

    12 Horas

  • Usuários
  • 224 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro

Posted 02/02/2004, 03:09

pelo que sei:

session
grava no servidor durante a visita. ou seja, vc faz login... visita o site (tem acesso a ele por causa do session). sai e expira o session. cabo.

cookie
fica gravado no computador do visitante. tipo este forum, vc sai... volta no dia seguinte e esta logado. (se selecionar a opcao).

acho session mais seguro para o visitante, pois este se acessar o site, e outra pessoa voltar dps, ha chances desta outra pessoa conseguir acessar... mesmo sem digitar login e senha, entendeu?
------------------------
GifsBrasil.com
ICQ 27189411
-------------------------

#5 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 02/02/2004, 03:10

Olá Alexx Ares. O cookie não é uma má opção, mas fica no cliente é mais pra quando você precisa guardar alguma informação daquele usuário e não perdê-la. Por exemplo, se ele já votou ou não em uma enquete. A session fica no servidor, e só dura a conexão do cliente, e é aceita por todo mundo. Alguns navegadores com nível de sergurança alto, por exemplo, rejeitam cookies. Aí o sistema não funciona. E nem sempre o cookie expira como queremos.

#6 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 02/02/2004, 04:29

Eu costumo usar Seções e Biscoitos, pra guardar dados simples como por onde o usuário andou, se el votou em algo. Mas se é pra guardar algo como ID, Nome de usuário, Senha eu uso seção.

Acho que é bom usufruir dos dois.

Cristiano G.
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#7 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 02/02/2004, 18:41

São duas boas ferramentas, tem pró e contras... juntas não são perfeitas.. mas dão uma segurança maior... lembrando q a segurança do dado não é nem a sessão nem o COOKIE que garante.. e SIM a forma como vc utiliza os dados...

Cookies - Particulamente nunca usei em minhas aplicações com PHP, com perl eu usava ... Eles são bons.. guardam dados eficientemente, porém tem suas desvantagens. Alguns usuários podem bloquea-los no navegador, eles nem sempre expiram na data certa, alterar os dados contidos nele é muito fácil...

Sessions - Um jeito prático de se gravar informações temporariamente, rodam durante um curto período de tempo, ou o quanto for estipulado. Ficam no lado do servidor, não tem muitos problemas com rejeição. Existem algumas vulnerabilidades... se vc acessar por Telnet ou SSH, vc derruba a Session Todinha... tirando a sua segurança

Sessions + Cookies - Um jeito eficiente de se gravar informações importantes e não tão essenciais, mas que são muito solicitadas. Por exemlpo, pode gravar o login do usuário no cookie, porém sua senha, somente trabalha com Session... Existe uma margem grande de segurança se souber utilizar essa combinação da forma certa, porém uma estrutura assim mal planejada, pode ser um total fiasco em nível de segurança.

#8 Rafael :)

Rafael :)

    Aprendendo e ensinando PHP.

  • Usuários
  • 549 posts
  • Sexo:Não informado
  • Localidade:São Paulo
  • Interesses:Aprender PHP!

Posted 02/02/2004, 19:27

Ae, sinceramente..... muito obrigado a todos que me ajudaram e derão suas dicas!

Mas vou ser sincero!!!

Eu não tive sucesso nesse tópico, parece que nem um dos dois saum seguros...

Como eu pude ver, session é gravado no servidor, mas se o dono quiser entrar e ve as session??? Se o cara quiser bagunçar lá... sei lá, existe doido pra tudo...

Na boa pessoal,

Esses site grandes como:

GLOBO.COM
WMONLINE
UOL.COM.BR
BOL
Forum


usam o que???

COOKIE ou session??

DDesculap pessoal, mas eu preciso de saber o que realoemnte é seguro!.


O nosso amigo Maximus disse que tem como danar com um session todinho e tals, e tb ele falou que COOKIE é problema tb...

Ajudem peessoal
Jesus:

Justiça
Esperança
Saúde
União
Salvação

Deus é fiel...

#9 -|- Cold Heart -|-

-|- Cold Heart -|-

    *** MaDe In HeLL ***

  • Usuários
  • 260 posts
  • Sexo:Não informado
  • Interesses:Guitarras<br>Músicas<br>Web

Posted 02/02/2004, 21:19

cara, nada na net eh seguro 100%....pegue os prós e contras das sessions e dos cookies e analise qual é q melhor c encaixa no seu projeto....

(y)
### Fender Vs. Gibson ###

#10 Alexx Ares

Alexx Ares

    Doutor

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

Posted 03/02/2004, 01:41

Fala Galera!

Como eu citei, eu nunca havia utilizado sessions (não pq não queira, mas por falta de oportunidade mesmo!).

Agora estou começando a estudar e vou fazer meus primeiros testes! :rolleyes:

Minha conclusão (se eu estiver concluindo errado, por favor me corrijam, para que eu também aprenda!!):

Cookies - Para gravar dados do usuario como saber quantas vezes ele acessou o site, se já fez algo, gravar um login para quando entrar novamente já estar o campo preenchido, etc.. Ou seja, tudo que vá durar algum tempo, mesmo que o usuário desconecte.

Sessions - Guardar tudo isso dos cookies, mas desde que sejam naquele momento, pois pelo que eu entendi, é impossível um session saber que é o mesmo usuário se ele desconectar e voltar no site. É mais seguro (ta no servidor) e não depende de bloqueios de cookies e coisas assim.

Segurança: Não tenho tanta certeza, mas acho que a melhor forma de fazer um usuario logar seguramente, de forma simples (sem usar SSL, criptografia, etc..) seria gravar no banco de dados o login, senha, etc., relecionando com o IP do usuário. Claro, tem que ser como o sessions, apenas naquele momento.
Estou certo?
Conexão com o BD é mais segura que sessions? :huh:

Abraços a todos! (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 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 03/02/2004, 15:21

Ai ai.. não to inspirado pra fazer minhas redações hoje.. mas vamos lá...

Primeiro esclarecendo uma coisa, os dados da session ficam sim gravados no servidor, porém em arquivos temporários, q duram o tempo padrão do php.ini ou quanto vc estipular...

Utilizando PHP até hj não vi uma forma de "penetrar" na sessão dos outros, em coldfusion existe tal possibilidade.

Agora alexx... sua colocação está totalmente equivocada. Nada tem a ver uma conexão a um banco de dados com as sessions... As sessions são mecanismos que permitem guardar dados para um determinado momento, para que o usuário não tenha q fazer o login em toda santa página.

Claro, q o sistema de login é apenas UMA das N possibilidades de se utlizar sessões.

Uma conexão com um banco de dados, pode ser feita de qualquer lugar, até mesmo do MS-DOS. Porém a forma como se trabalha os dados do banco de dados.. é o que garante a segurança a seus usuários.

SSL é bom, é caro, e mesmo assim não é 100% seguro. Claro, que é muito mais dificil vc penetrar em um sistema baseado em uma linha segura, doq em um protocolo padrão. Afinal vc não tem q desencriptografar os dados, pra poder se comunicar livremente. Mas isso é outro assunto.

Eu aconselho SEMPRE .. em sistemas de login, a utilizar sessions, por serem mais seguras q os cookies, menos vulneráveis e expiram mais rápido. Os cookies vc pode usar para armazenar o LOGIN, apenas o LOGIN, a senha não.

#12 LucasMS

LucasMS

    Super Veterano

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

Posted 03/02/2004, 16:02

ai pessoal, aproveitando o topico:
eu vi no livro PHP a Biblia q para criar uma session eh assim:
<?php
session_start()
?>
soh q sempre da erro na exata linha em q ta o "session_start"
o q eh isso? (o erro eh: Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/cidade17/public_html/programa/confirma.php:7) in /home/cidade17/public_html/programa/confirma.php on line 8
"

#13 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 03/02/2004, 16:19

Porque num pode guarda a senha junto com o Login na session ? se tiver como abrir uma session bom fala aÊ !!! pois eu gravo :P e ate agora ninguem abriu ou mexeu nos meus dados !!! bom + se tive una pequena falha eu irei imediatamente tirar a senha que ta gravandu !

ha gbr_chacal e so issu ou tem + coisa ? pois issu aê ele ta dando um start na session porem num tem nome e talvel nem tenha nenhum sessao criada antes !!!

bom ta aê !!
<?
session_name("MeuLogin");
session_start();
session_destroy();
session_register("login");
Header("Location: index.php");
?>
+ completinho :P
OBS: tava errado + já arrumei !

bom flw (y) !!!

Edição feita por: Goku Jr, 03/02/2004, 16:53.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#14 LucasMS

LucasMS

    Super Veterano

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

Posted 03/02/2004, 16:22

vou testar
iiii, mas pelo o que eu li no PHP a biblia, o session_start nao pode ter argumentos. (variaveis entre os ())

Edição feita por: gbr_chacal, 03/02/2004, 16:23.


#15 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 03/02/2004, 16:51

session_start() não tem argumento.

Está na referência:
http://br.php.net/ma...ssion-start.php

Não pode ser chamada depois que algo foi retornado pra o navegador:

<?
echo 'Olá mundo!';
session_start();
?>

Dá erro. E nas versões do PHP >= 4.1.0, session_register & CIA é coisa do passado. É usado $_SESSION['nome'] = 'xx'; e só.

http://br.php.net/ma...riables.session

Tomara que tenha ajudado.




0 user(s) are reading this topic

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

IPB Skin By Virteq