Archive for the ‘PHP’ Category

Se você quiser saber se uma pagina está sendo requisitada pelo mesmo usuário que antes e ainda quer que as variáveis criadas anteriormente ainda permaneçam como definidas, você provavelmente deverá usar controle de sessão.

Nesta primeira parte, apenas uma introdução.

Recentemente, lendo em livros e posteriormente na Internet, pude saber mais sobre o protocolo HTTP, de como é a comunicação cliente/servidor. Uma das coisas que podemos aprender e que pode ser importante saber quando estamos desenvolvendo um sistema seguro a fraudes de usuários, é entender que: “No protocolo HTTP nenhuma informação de estado é passada”. Ou seja, não podemos contar com o protocolo HTTP se quisermos verificar se o usuário que fez a requisição anterior é o mesmo que fez a seguinte, isso é a privacidade do usuário sendo tratada aqui e portando, temos que nos virar para encontrar uma solução.

Quando declaramos o inicio de uma sessão e com ela suas variáveis, o PHP armazena em um arquivo comum de dados, no servidor, uma cópia destas informações. Essas informações são encontradas por meio de uma ID única de sessão, gerada pelo próprio HTTP para o usuário e está ID é armazenada no lado do cliente por duas maneiras. Ou pelo uso de cookies, ou pelo envio na URL.

Quando usamos sessões, a única variável que é armazenada no lado do cliente, como dito acima, é a ID de sessão. Quando passada para o servidor, via URL ou cookie, este poderá encontrar as variáveis que antes foram definidas para este determinado usuário.

Algo importa para se dizer é que, hoje, comumente, até as versões mais antigas de browsers possuem recursos de cookies, e, portanto é interessante preservar a ID de sessão em um cookie do que sujar a URL da nossa pagina estamos tratando de SEO aqui.

Claro, mantendo o ID de sessão na URL, você terá maior garantia de que mais usuários terão acesso a paginas controladas por sessões, isso é uma questão de usabilidade. Pense que o usuário poderá estar com os cookies desabilitados. Existem formas de saber se o usuário possui os cookies habilitados em seu navegador e assim pedir gentilmente que os habilite caso não esteja.

Configurando Cookies com o PHP
Você pode configurar cookies utilizando a função setcookie().

Protótipo: Veja o manual.


bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )

Assim sendo, você poderá declarar um cookie da seguinte forma:

code-1.png

A forma acima é a mais simples de definição.

Você poderá definir uma data para que essa variável expire, ou seja, deixe de existir:

code-2.png

Repare que devemos utilizar um numero inteiro para o valor da data no “formato UNIX de ser”. Uma maneira fácil para isso é:

use a função time() para pegar a data atual e adicione o tempo que você quer em segundos. No caso acima, 3600 segundos, que é igual a 1 hora. 😉

Assim, já declarado nosso cookie. Quando o usuário visitar a próxima pagina de seu site (ou recarregar a pagina atual), você terá acesso ao cookie por meio da super global $_COOKIE[‘meu_cookie’].

Mas bem, porque estou falando disso? Quando estamos trabalhando com Sessões, elas fazem tudo isso para nós! 😆

Abraço a todos.

Recentemente, adquiri um livro muito bom. E agora estou recomendando;

O livro:
196124.jpg
PHP e MySQL: Desenvolvimento Web Luke Welling, Laura Thomson

Apesar de conhecer um pouco sobre programação, precisava de um livro que me desse uma boa base especifica de PHP e MySQL.
Este livro é bom porque logo de inicio, você já começa a utilizar a linguagem de forma útil, sem aqueles exemplos elementares.

O livro acompanha um CD contendo: Todos os códigos de exemplos descritos, softwares necessários para usar o livro, como o Apache, MySQL e PHP5 todos eles para Linux, Mac e Windows e ainda a versão em Inglês do livro em PDF, para aqueles que não querem tirar o olho da tela nem um minuto.

Com este livro você será capas de desenvolver a sua própria loja virtual, aprenderá o conceito de Programação Orientada a Objetos e aprenderá outras técnicas como a geração de documentos no formato PDF.

Realmente este livro é bom, sem falar que já está na 3º edição super atualizada de 2005.