note 120027 deleted from security.magicquotes.disabling by salathe

From: Date: Wed, 12 Oct 2016 12:39:03 +0000
Subject: note 120027 deleted from security.magicquotes.disabling by salathe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-206844@lists.php.net to get a copy of this message
Note Submitter: empalamado at gmail dot com ---- Quanto deixamos uma caixa de texto inteiramente sob o controle do usuário que envia um formulário, isso é muito perigos. Se um usuário malicioso escrever algum código SQL desagradável no seu formulário, este script iria alimentar o servidor MySQL, sem dúvida. Este tipo de ataque é chamado de um SQL injection, e nos primórdios do PHP era um dos buracos de segurança mais comuns que os hackers encontravam e exploravam em sites baseados em PHP. Em muitos nichos de programação, ataques de injeção SQL ainda são surpreendentemente eficaz, como os desenvolvedores não esperar que eles. Estes ataques foram tão temido, que a equipe do PHP adicionou alguma proteção embutida contra injeções de SQL para a linguagem; ela ainda permanece ativada em muitas instalações do PHP hoje. Chamado magic quotes, esse recurso de proteção de PHP analisa automaticamente todos os valores apresentados pelo navegador e insere barras invertidas (\) na frente de quaisquer caracteres “perigosos”, como apóstrofos - o que pode causar problemas se eles estão incluídos em uma consulta SQL inadvertidamente. O problema com o recurso de magic quotes é que ele provoca tantos problemas quanto impedem. 1º, os caracteres que ele detecta e o método que usa para desinfetar (com uma barra invertida) são válidos apenas em algumas circunstâncias. Dependendo da codificação dos caracteres do seu site e do servidor de banco de dados que você está usando, estas medidas podem ser inúteis 2º, quando um valor apresentado é usado para alguma finalidade que não seja a criação de uma consulta SQL, essas barras invertidas podem ser muito incômodas. No Capítulo 3, foi mensionado um exemplo de mensagem de boas vindas, o recurso de magic quotes iria inserir uma barra invertida espúria para o último nome do usuário se ele tem um apóstrofo. Em suma, magic quotes foi uma má idéia, tanto que ele está programada para ser removida do PHP da versão 6 em diante. No entanto, você tem que lidar com os problemas que ele cria em seu código. A maneira mais fácil de fazer isso é detectar se magic quotes está habilitado em seu servidor web e, em caso afirmativo, para desfazer as modificações que fez ao valores apresentados.(Você pode desativar magic quotes - e poupar o seu servidor web de um monte de trabalho, definindo a opção magic_quotes_gpc no seu arquivo php.ini para Off. Verifique se o código ainda funciona com essa configuração, no entanto, você ainda deve lidar com magic quotes em seu código quando ele está habilitado.). Felizmente, o manual do PHP fornece um trecho de código que irá faça isso, acesse: http://www.php.net/manual/en/security.magicquotes.disabling.php

« previous php.notes (#206844) next »