Code Igniter User Guide Version 1.5.2


Segurança

Esta página descreve algumas "boas práticas" acerca da segurança na web e detalha as funcionalidades internas de segurança do Code Igniter.

Segurança URI

O Code Igniter é basicamente restritivo acerca dos caracteres aceitos em suas strings URI, de maneira a ajudar a minimizar a possibilidade que dados maliciosos possam ser passados para sua aplicação. URIs podem conter apenas o seguinte:

GET, POST, e COOKIES

Dados via GET estão simplesmente desabilitados pelo Code Igniter uma vez que o sistema utiliza segmentos URI no lugar das tradicionais query strings URI (a menos que você habilite a opção de usá-las no seu arquivo de configuração). A array global GET não é setada pela classe Input durante a inicialização do sistema.

Register_globals

Durante a inicialização do sistemas, todas as variáveis globais não estão setadas, exceto as encontradas nas arrays $_POST e $_COOKIE. A rotina de configuração (set/unset) é efetivamente a mesma à register_globals = off.

magic_quotes_runtime

A diretiva magic_quotes_runtime está desligada durante a inicialização do sistema, por isso você não precisa remover as barras quando buscar dados do banco.

Boas Práticas

Antes de aceitar qualquer dado em sua aplicação, sejam dados POST vindos de um submit de um formulário, COOKIES, dados URI, dados XML_RPC, ou mesmo dados vindos da array SERVER, você é encorajados a praticar esta abordagem de 3 passos:

  1. Filtrar os dados supondos estarem infectados ou corrompidos.
  2. Validar os dados para assegurar que estão em conformidade aos corretos tipo, extensão, tamanho etc. (algumas vezes esta passo pode substituir o primeiro)
  3. Dê um Escape nos dados antes de submetê-los ao banco.
O Code Igniter provê as seguintes funções para ajudá-lo neste processo: