abril 2008
D S T Q Q S S
    mai »
 12345
6789101112
13141516171819
20212223242526
27282930  

Interface de sessões do PHP em MySQL

Conforme visto no artigo sobre o funcionamento de sessões no PHP, o sistema de arquivamento em disco é inseguro. Este artigo implementa uma classe que armazena os dados em banco de dados MySQL. Isto além de possibilitar uma maior segurança dos dados de sessão, permite que uma aplicação seja portada para um sistema de balanceamento de cargas muito mais facilmente, pois independentemente de qual servidor a requisição for processada, terá acesso as variáveis de sessão de forma transparente.

Funcionamento de sessões no PHP

O PHP possui um sistema interno de gerenciamento de sessões muito prático, porém inseguro, tanto que existe uma referência no manual do PHP chamado Sessões e segurança com dicas para aumentar a segurança das variáveis de sessão. Para entender o porque desta insegurança, vamos compreender como o sistema funciona.

Removendo frames automaticamente

Existem diversos sites famosos com serviços que adicionam um frame superior (contendo propaganda, links, etc…) e a sua página abaixo, no espaço restante.

Também pode acontecer de um site malicioso que acesse as informações de sua página através de javascript, fazendo com que um script escondido em um frame de 0 pixels acesse o conteúdo de [...]

Carga de JavaScript dinâmica

Algum tempo atrás eu utilizei um script para adicionar funções de forma dinâmica em uma página. Isto é muito útil em páginas que utilizam AJAX para o processamento e desejam carregar as funções sob demanda ou até mesmo proteger o código apenas para usuários autenticados no sistema, fazendo um script que forneça o código apenas [...]

Optimizações simples e eficazes no MySQL

Esses dias encontrei por acaso uma postagem sobre optmização de MySQL e as publico aqui por ter gostado da simplicidade e eficiencia.

Pesquisa por palavra exata

Muito rápido:

SELECT * FROM TABELA WHERE MATCH (‘campo’) AGAINST (‘Palavra’)

Rápido:

SELECT * FROM TABELA WHERE MATCH (‘campo’) AGAINST (‘+Palavra’ IN BOOLEAN MODE)

Lento:

SELECT * FROM TABELA WHERE campo RLIKE ‘(^| +)Palavra($| +)’

Lento:

SELECT * [...]