Mostrando postagens com marcador Código Fonte. Mostrar todas as postagens
Mostrando postagens com marcador Código Fonte. Mostrar todas as postagens

quinta-feira, 17 de novembro de 2011

CakePHP 2.0.2 e o novo objeto CakeRequest

O CakePHP é um framework de desenvolvimento ágil, para web em PHP. Há quatro semanas ganhou a versão 2.0 e nesta data que escrevo a versão já se encontra na versão 2.0.2.
Este curto post é direcionado a um público que já usa o cake, mas não sabe o que muda na versão 2 do framework.

Uma das várias mudanças, a que abordarei aqui esta relacionado à forma que o Cake trabalha com as requisições do cliente para o servidor.
O $this->RequestHandler(); é o componente responsável para manipular as requisições no CakePHP 1.3

quinta-feira, 8 de setembro de 2011

Criar querys que pesquise em campos datetime tendo apenas a data

Este post é rápido.
Aqui vai a dica para quem quer pesquisar, ou seja, montar uma consulta que envolve um campo datetime, porém você só tem a data.

Analisemos o código:

mysql> select * from `datas`;
+----+---------------------+
| id | data |
+----+---------------------+
| 1 | 2009-10-06 06:36:27 |
| 2 | 2009-11-06 15:00:27 |
| 3 | 2009-12-06 19:00:38 |
+----+---------------------+
3 rows in set (0.00 sec)
 

sexta-feira, 29 de julho de 2011

WordPress - Funções úteis

API Transitória do WordPress

 set_transient(), get_transient(), delete_transient()
Esta é uma função muito similar às funções get_options() e update_options() que ajuda a armazenar e a puxar informação de forma fácil na sua tabela de opções do seu banco de dados. A grande diferença aqui é que você pode passar um parâmetro de tempo que atua como uma data de expiração para essa entrada de seu banco de dados.

sexta-feira, 13 de maio de 2011

Criptografia no mysql

Segurança nunca é demais quando estamos tratando com dados importantes para nossos usuários. Pensando nisto, resolvi postar hoje um tutorial bem simples de como criptografar dados em suas tabelas no MySQL. 
Para criptografar dados no MySQL vamos utilizar a função AES_ENCRYPT() eAES_DECRYPT(), ambas estão disponíveis desde a versão 4.0.2 do banco de dados e podem ser consideradas como a função mais segura atualmente. 
A vantagem desta função é que você poderá utilizar uma chave privada para encriptar e desencriptar os dados, permitindo a gravação dos dados seguramente e a leitura da mesma forma como foram gravados. 

Mas como faço para inserir um registro em minha tabela no MySQL com um campo encriptado?

Simples, vejam:

INSERT INTO TBL_DADOS(CAMPO1, CAMPO2) VALUES('Meu valor não encriptado', AES_ENCRYPT('Meu valor encriptado', 'MINHA_CHAVE'); 

Onde "MINHA_CHAVE" pode ser qualquer palavra chave que será utilizada para desencriptar os seus dados. 
O resultado de um campo encriptado é um valor binário como por exemplo :
mž ?ôz DF“ ‘²šaѵÓׯ| fõÎ*-^êäÃ

Para tornar a inserção mais segura, você poderá utilizar uma variável registrada no momento da conexão com o banco de dados, assim:

SELECT @CHAVE_CRIPTOGRAFIA := 'minha_chave';

E nos seus comandos SQL, utilize a variável normalmente:

INSERT INTO TBL_DADOS(CAMPO1, CAMPO2) VALUES('Meu valor não encriptado', AES_ENCRYPT('Meu valor encriptado', @CHAVE_CRIPTOGRAFIA);

Mas como faço para descriptografar os dados?

Basta utilizar a função inversa AES_DECRYPT passando o campo e a chave que você utilizou para encriptar o dado.

SELECT AES_DECRYPT(CAMPO2, @CHAVE_CRIPTOGRAFIA) FROM TBL_DADOS;