Arquivo da tag: programação

Os perigos da diretiva register_globals

A diretiva register_globals, presente no PHP, quando ativada, faz com que todos os índices presentes nos arrays superglobais $_POST, $_GET, $_COOKIE, $_SESSION $_SERVER, se tornem automaticamente variáveis dentro do seu script. Antigamente, isto era utilizado por diversos programadores, pois evita o trabalho de atribuição das variáveis.

A partir da versão 4.2.0 do PHP, esta diretiva vem desabilitada por padrão, pois as facilidades providas por ela, contribuem para que programadores iniciantes e desavisados cometam falhas de seguranças em seus códigos. A partir da versão 5.3, esta diretiva é considerada obsoleta e a partir da versão 5.4 ela não está mais presente.

Vamos a um exemplo de falha de segurança com register_globals:

Continue lendo

Cookies em PHP

Cookie são arquivos de texto que são armazenados na máquina do cliente. São muito úteis pois através deles é possível armazenar preferências e outros dados na máquina do cliente, para que possam serem recuperados na próxima vez que aquele usuário acessar o site.

Para trabalhar com cookies no PHP, utilizaremos a função setcookie().

A função setcookie tem a seguinte definição:

Continue lendo

Gerando erros personalizados com PHP

Uma forma mais profissional de se exibir erros em aplicações PHP é através da função trigger_error(). Esta função lança um erro personalizado, definido pelo usuário, da mesma forma que são exibidos os erros do PHP.

Através dessa função, podemos definir 3 tipos básicos de erros:

E_USER_ERROR ->Erro fatal, exibe a mensagem e termina o script.

E_USER_WARNING -> A execução do script não é afetada, porém são exibidos avisos dos erros encontrados.

E_USER_NOTICE -> A execução do script também não é interrompida. Este tipo de erro serve para mostrar possíveis problemas que podem gerar um erro maior.

Continue lendo

Bloqueando acesso direto em scripts PHP

Bloquear scripts contra acesso direto, é algo bastante necessário pra quem desenvolve para web, principalmente se o arquivo a ser bloqueado seja um arquivo de configurações, com funções úteis, etc.

O ideal nestas situações, é que se mantenha o arquivo acima da pasta raiz do seu servidor, porém quando isto não é possível, temos uma outra alternativa: vamos comparar o nome do arquivo a ser protegido, com o nome do arquivo que esta em execução.

Para isto, basta adicionar este trecho de código ao arquivo que se deseja proteger:

Continue lendo

Listando arquivos de um diretório em PHP

Uma coisa que quase todo programador já precisou fazer em algum momento, é listar todos os arquivos que se encontram em um determinado diretório. Em PHP, isto é uma coisa muito simples de se fazer. Faremos utilizando duas funções:

opendir() -> utilizada para abrir um diretório

readdir() -> utilizada para ler os arquivos de um determinado diretório

Vamos ao código:

Continue lendo

Validando emails com PHP

Validar emails é uma coisa essencial no universo WEB, seja para utilizá-lo em uma newsletter ou em um cadastro qualquer. A melhor forma de validar um email é utilizando os famosos “emails de confirmação“, porém como nem todo sistema necessita deste tipo de validação, apresento-lhes uma função simples de verificação de email, que verifica inclusive se o domínio do email informado possui um servidor de email respondendo.

Vamos ao código:

Continue lendo

Verificando o fim de um array em PHP

Muitas vezes quando precisamos percorrer um array, precisamos saber quando o array chega ao seu fim para tomarmos uma certa decisão. Para fazer isto em PHP é muito simples, basta combinarmos a função end juntamente com a função array_keys.

A função end retorna o último elemento de um array. Já a função array_keys, lista todas as chaves de um array. Vamos ao exemplo:

Continue lendo

Filtrando strings maliciosas em ASP

Apresento aqui uma função para filtrar strings contra os principais caracteres utilizados nos ataques de SQL Injection e XSS. A função é bem simples, porém ajuda bastante na hora de receber dados do usuário.

Public Function filtrarTexto(str)
str = Replace(str, ” str = Replace(str, “;”, “”)
str = Replace(str, “#”, “”)
str = Replace(str, “–“, “”)
str = Replace(str, “%”, “”)
str = Replace(str, “=”, “”)
str = Replace(str, “‘”, “”)
str = Replace(str, “+”, “”)
filtrarTexto = str
End Function

Você pode baixar o arquivo AQUI.

Até a próxima 😉

Criando um monitor de logs em apenas uma linha

Neste pequeno texto vamos criar um monitor de logs com apenas uma linha para ser utilizado em sistemas Linux/Unix.

Basicamente utilizaremos dois comandos:

watch: comando responsavel por executar um determinado comando com um intervalo de tempo de 2 segundos.

tail: comando que permite visualizar o final de um arquivo (útil na hora de visualizar arquivos de log)

Continue lendo