Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

verneklavor

login/sessão php

Recommended Posts

Estou desenvolvendo um sistema de login bem básico mas encontro problemas.

 

Ao digitar login e senha é chamado um arquivo (acoes.php) aonde ele acessa a ação login.

 

Oque acontece é que eu não consigo retornar um valor pela sesao se não colocar o start_session() na página de acoes, mas quadno coloco ele retorna o valor porem um erro. Já tentei colocar o statr_session() fora do case antes do include mas nada acontece. Alguem pdoeria dar uma força, ficaria muito grato.

 

 

acoes.php

acoes.gif

 

página seguinte:

outra.gif

 

erro retornado:

erro.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma dica: sugiro que utiliza cookies para sistemas de login... para utilizá-los faça o seguinte:

 

setcookie('nome', 'valor', time() + (3600)); // onde o 3600 representa os segundos para o cookie expirar. Nesse caso, pus uma hora...

// para ler, você tem que atualizar a página, ou seja, você não pode mandar um cookie e o ler ao mesmo tempo...
$cookie = $_COOKIE['nome'];

 

Desculpe não poder te ajudar sobre as sessions, mas não trabalho muito com elas...rs

Compartilhar este post


Link para o post
Compartilhar em outros sites
Desculpe não poder te ajudar sobre as sessions, mas não trabalho muito com elas...rs

 

É bom começar usar SESSION... cookie não é muito seguro...

 

verneklavor, veja o link passado pelo Beraldo, esqueça cookie, a não ser para outro motivo, fora de sistema de login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você mesmo respondeu sua perunta... SESSION termina quando o navegador for fechado, ou quando você destroi ela, por meio de uma página de logout...

 

Cookies são gravados na própria máquina do usuário, só por este fato, já da pra perceber sua vulnerabilidade, porém, você pode codificar o valor de um cookie, criptogravar o seu valor etc, isso dificulta o acesso aos valores do cookie, existem mais vulnerabilidades para o cookie.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"só por esse fato, já dá para perceber a vulnerabilidade". Desculpe minha ignorância, mas eu não percebi...

 

Como eu havia dito, ambos sessions e cookies podem ser roubados, ou seja, visualizados pelo usuário. Além disso, claro que eu não armazenaria a senha dele no cookie, apenas seu nome de usuário, por exemplo...

 

Ainda não vi nenhuma vulnerabilidade... se você puder me explicar alguma, ficaria extremamente grato, pois assim migraria imediatamente de cookies para sessions...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui tem uns exemplos, nem precisa usar php pra poder pegar cookie...

 

:seta: http://www.chmod.com.br/vb/showthread.php?9818-Clonagem-de-cookies-Side-jacking

 

Só pelo título do tópico você já imagina...

 

outro:

 

:seta: http://www.chmod.com.br/vb/showthread.php?5714-Como-pegar-o-cookie-simples-dos-foruns-phpBB

 

agora, como ele clonaria um session ??...

 

Migre para session amigo !

Compartilhar este post


Link para o post
Compartilhar em outros sites

com sniffer pouco importa se é cookie ou session. todo tráfego é capturado.

Não acho cookie inseguro.

 

Tanto session quanto cookie podem ser inseguros. Tudo depende de como são usados.

 

Eu não teria paciência de ficar logando sempre aqui no forum. Viva os cookies.

E participo desde 2006. Nunca roubaram minha senha. Porém, se rodassem um sniffer no server, pouco importa se é cookie, sessin, SSL ou não, o cara teria TODO o tráfego da rede

 

você pode criar chaves temporárias de autenticação, misturando a senha do usuário com outros dados. Mas uma coisa é importante: não coloque a senha no cookie, mesmo criptografada ou num hash MD5, SHA-1 ou outro. Acesso a hashes de senha já é inseguro; acesso à senha é intolerável

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste, caso, acho ele inseguro para sistema de login.

 

Na verdade, session também é um cookie, só que de uma forma automatizada, para cada session é criada um ID, que por sua vez é armazenado no cookie... só que você nem percebe... justamente, que se usar o sniffer, você obtem todo o tráfego, porque session também é cookie, porém, acredito mais seguro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite pessoal...

 

Aproveitando o post, pra não precisar de abrir outro..

 

Como é feito aquele esquema do usuario sair da pagina e não deslogar, tipo gmail, orkut.

 

Acho que com o PHP é possivel, pq o facebook é feito com php e é assim tbm.

 

É com cookie?

 

Vlllw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é feito aquele esquema do usuario sair da pagina e não deslogar, tipo gmail, orkut.

 

Acho que com o PHP é possivel, pq o facebook é feito com php e é assim tbm.

 

É com cookie?

 

exatamente.

só usar cookie, definido o seu tempo de existência

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é feito aquele esquema do usuario sair da pagina e não deslogar, tipo gmail, orkut.

 

Acho que com o PHP é possivel, pq o facebook é feito com php e é assim tbm.

 

É com cookie?

 

exatamente.

só usar cookie, definido o seu tempo de existência

 

Vlw Beraldo...

 

E como poderia ser feito integrado com SESSION?

 

Poderia dar um exemplo simples e pratico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em resposta à Ronny Santana:

 

Ronny, é impossível (tenho quase absoluta certeza) fazer com que as SESSIONS durem mesmo depois que o usuário feche seu navegador, ainda mais desligue seu computador. Com cookies, tudo fica muito mais fácil. Você define o tempo que ele deve durar e isto apenas será quebrado caso você "exclua" o cookie com um código ou o usuário exclua seus cookies, o que é muito improvável, já que como você mesmo mencionou muitos sites usam cookies...

 

Para usá-los, faça assim:

 

<?php

// armazenando cookies
$tempo = time() + 3600;
setcookie('nome do cookie', 'valor do cookie', $tempo);

/* esses são apenas os parâmetros principais em minha opinião. O tempo é em timestamp, então
* deve ser algo do tipo time() + 3600, como mostrado no exemplo, onde 3600 é o tempo que o
* cookie deve continuar existindo, em segundos; caso este seja nulo ou não seja especificado,
* o cookie será excluído assim que a sessão acabar, ou seja, assim que o usuário fechar seu
* navegador. Para lê-lo, utilize o código abaixo, porém preste atenção pois o cookie apenas
* será disponível apenas a página seja finalizada, ou seja, não há como enviar um cookie e
* lê-lo ao mesmo tempo...
*/

$cookie = $_COOKIE['nome do cookie'];

 

Bem simples, sem ter que enviar nenhum comando anterior. Na definição do tempo, você também pode utilizar a função strtotime(), assim como o exemplo:

 

$daquiUmaSemana = strtotime('+ 1 week'); // se você usar isso como o $tempo, aí o cookie terá uma semana de duração

 

Sobre segurança, basta ler esse tópico e verá como se proteger adequadamente. Lembrando o que o Beraldo disse: nunca insira senhas em cookies; insira algo como o nome de usuário da pessoa para posteriormente poder usar essa informação para checar se ela está logada, ou coisa do tipo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.