Como funciona essa modalidade?
Para explicar, vamos nos basear em um exemplo simples, suponha que nosso formulário possua um campo para o visitante inserir o email da seguinte forma:
input name="email" value="Enter" your="" email="" here="" type="text"
Então, o endereço informado neste campo é enviado ao servidor e é levado pelo script PHP para ser utilizado como FROM na função mail() e desta forma a mensagem que chegar ao nosso e-mail terá como remetente o endereço informado pelo Visitante.
Agora, a função mail() do PHP: mail(recipient, subject, message, extra headers); Ele simplesmente concatena os parâmetros que são passados para ele, portanto se inserirmos o seguinte no campo email do formulário:
[email protected]%0ACc:[email protected]%0ABcc:[email protected],
onde o primeiro endereço será De: (endereço de origem que chegará às vítimas do spam), %0A é o valor hexadecimal do caractere de alimentação de linha, Cc: (Cópia) contém o endereço ou endereços das vítimas e Cco: (Cego Copy) também contém endereços de vítimas de spam.
Parte do cabeçalho do e-mail gerado pelo nosso formulário abusado será:
Para: destinatá[email protected]
Assunto: Assunto da mensagem
De: [email protected]
Cc: [email protected]
Cco: [email protected], [email protected]
Com isso, o spammer terá utilizado nosso site para enviar correspondências em massa através de nosso formulário.
O exemplo visto é o caso mais básico desta modalidade, pois através da injeção de cabeçalhos você pode até modificar o assunto e até a própria mensagem, a ponto de poder enviar mensagens com conteúdo html.
Que consequências tem esta modalidade?
Primeiro, nosso formulário está sendo utilizado para realizar uma atividade da qual a grande maioria de nós discorda.
A largura de banda disponível para o servidor também está sendo utilizada, afetando os demais sites nele hospedados, portanto o site em questão ficará suspenso até que o problema seja resolvido.
Por último, em caso de denúncia de spam, a referida conta deverá ser suspensa de acordo com as disposições legais do nosso site. É responsabilidade de cada usuário utilizar código suficientemente seguro em seu site e corrigi-lo se necessário.
Como evitar o uso do nosso formulário?
Primeiramente, vale esclarecer que a modalidade exemplificada ocorre apenas em formulários que utilizam a função mail() do PHP para processar e enviar os dados inseridos pelo visitante. É sempre recomendado utilizar a classe phpmailer, o que evita em grande parte esses problemas.
Caso você utilize um script PHP que não seja seu, como formail.php, atualize-o com a versão mais recente, verificando se ele oferece solução para este tipo de atividade.
Se você usa um script PHP de sua propriedade ou tem conhecimento para editá-lo, aqui incorporamos uma função que você pode usar para validar os dados inseridos de forma eficiente
função ValidarDados(){
// Array com os possíveis cabeçalhos a serem usados por um spammer
= array(Tipo de conteúdo:,
Versão MIME:,
Codificação de transferência de conteúdo:,
Caminho de retorno:,
Assunto:,
Desde:,
Envelope para:,
Para:,
Cco:,
DC:);
// Verificamos se os dados não incluem nenhum dos
// as strings do array. Se alguma string for encontrada
//direciona para uma página Proibida
foreach (como) {
if (strpos (strtolower (), strtolower () ) !== falso) {
cabeçalho (HTTP/1.0 403 Proibido);
saída;
}
}
}
//Exemplo de chamadas de função
ValidateData(['e-mail']);
ValidateData(['assunto']);
ValidateData(['mensagem']);
?>
Esta função é básica e pode ser modificada de acordo com o script que você utiliza para processar o formulário e até incorporar controle de erros. Não se esqueça de incluir campos de formulário ocultos se esses dados forem passados pela função mail().
Sugerimos também que para aumentar a segurança dos seus formulários para que não sejam levados por terceiros, você pode utilizar um captcha para isso.