Preprocessor) e uma linguagem de script Open Source de uso geral, muito utilizada e especialmente guarnecida para o desenvolvimento de aplicacoes Web embutivel dentro do HTML [PHP.net 2006]. Por ser uma linguagem poderosa e relativamente de facil compreensao torna-se um fator positivo para as pessoas que desejam aprender a programar, porem se torna um problema ja que poucos se importam em aprender algo sobre seguranca e acabam escrevendo seus codigos bastante frageis. Isso infelizmente nao acontece somente com PHP. Muitos iniciantes em programacao por falta de informacao necessaria acabam escrevendo seus codigos com falhas, algumas banais. Em algumas linguagens isso nao e um problema grave, porem toda tecnologia que e voltado para Web torna-se bastante propicia a ataques ja que fica em contato com diversas pessoas diferentes no mundo inteiro. E importante lembrar que servidores "bem configurados" nao fazem por si so um sistema seguro, em outras palavras, a programacao do sistema e fator fundamental quando se fala em seguranca.Um grande numero de sites pequenos e provavelmente muitos sites grandes rodam codigos pessoais escritos por alguns que nao possuem uma experiencia necessaria com PHP ou em programacao segura, isso tambem significa que um grande numero de sites podem se tornar ou estao inseguros. 2. CONSIDERACOES GERAISDe acordo com o [Manual PHP.net 2006] um sistema completamente seguro e virtualmente impossivel de se conseguir, entao uma abordagem frequentemente usada em seguranca e um compromisso entre risco e usabilidade. Se cada variavel enviada pelo usuario utilizar duas formas de validacao biometrica (como escaneamento de retina e impressao digital), teriamos um nivel de checagem extremamente alto. Demoraria um tempo razoavel para preencher um formulario, o que incentivaria os usuarios a achar maneiras de burlar a seguranca.Quando estiver testando, tenha em mente que voce nao sera capaz de testar todas as possibilidades nem mesmo para as paginas mais simples. A entrada que voce pode esperar sera totalmente diferente da entrada dada por um empregado irritado, um cracker com meses livres para tentar quebrar o sistema, ou um gato andando pelo teclado. Por isso e melhor olhar o codigo da perspectiva logica, para discernir onde dados inesperados podem ser introduzidos, e depois seguir aonde o mesmo e modificado, reduzido ou amplificado.A Internet esta cheia de gente tentando fazer o proprio nome quebrando o codigo dos outros, derrubando sites, enviando conteudo indevido e de outras formas fazendo seu dia interessante. Nao importa se voce tem um site grande ou pequeno, voce e um alvo simplesmente por estar on-line, tendo um servidor que pode ser conectado. Muitos programas de cracking nao discernem por tamanho, eles simplesmente vasculham blocos gigantes de IPs procurando por vitimas. Tente nao se tornar uma.3. FALHAS DE SEGURANCA3.1 Register GlobalsO Register_Globals e uma diretiva de configuracao do arquivo php.ini e tem como finalidade definir se o servidor deve ou nao registrar quaisquer variaveis como globais.Ate a versao 4.2.0 do PHP a diretiva Register_Globals era por padrao ON (ativada), ou seja, ate essa versao toda variavel tratada no ambiente era setada como variavel global por padrao. Porem, a partir da versao 4.2.0 o padrao mudou para OFF