Recebia tanto spam em minha caixa de correio cotidiano que gastava mais tempo anulando-o então eu adicionava novo conteúdo, mantendo locais, ou começando novos locais combinados (direito típico de história). Algum de seu spam de website não é evitável, nem, é evitável, mas no custo de e/ou de usability informação boa sendo pegada no material “bad” também.

Nenhuma dúvida, se você’re sério sobre desenvolvimento de teia você’re vai estar criando e estar reagindo com formas numa base regular. Especialmente com esta nova teia 2,0 atitude cada tem&wiz #8230;gee, o que’s isso?

CAPTCHA
CAPTCHA é o método número um que a maioria de pessoas usam para prevenir spam hoje. O que é ele?

“A CAPTCHA é uma prova de resposta de desafio usada em computadores verificar se o operador é humano. Um tipo comum de CAPTCHA que é usado em websites exige que o visitante bate as letras e números de uma imagem deturpada. Este método é baseado no fato que é difícil para computadores extrair o texto da imagem enquanto é muito fácil para seres humanos. ” - captchacreator com

Aqui’s alguns recursos a manuscritos tão você’ll pode implementar essa funcionalidade no próprias formas:

Escape Dados - Prevene SQL Injeções
O Capcha é usless se você’re deixando sua forma desprotegido de ataque. Lembre-se de filtrar barbantes de poste com addslashes () ou mysql_real_escape_string().

Também de uma olhada nestas funções para outro tipo semelhante de cheques que talvez sejam útil:

  • O htmlspecialchars () - Escapa os seguintes caráteres: &,’,”,>,< ...that is the ampersand, single quote, double quote, less than, and greater than symbols.
  • O strip_tags() - Faixas para fora toda HTML e PHP codificam da barbante dada.
  • O htmlentities () - Converte TODOS caráteres a seu equivalente de entidades de HTML (isto é um mais pega toda versão de htmlspecialchars).
  • O urlencode () - Codifica o URL passar barbantes num RECEBE método. Como mencionei, viesto&uso #8217;t RECEBE com formas. Isto é útil quando você’re passando variáveis de entrada de operador para outras razões.

Lembre-se de, uma vez você converte dados como este usar um do acima de funções, você pode desfazer o para legibilidade e produção por usar sua função inversa. O urlencode () por exemplo tem urldecode () desfazer suas ações tão você pode começar usando a barbante como teria antes do codifica.

Verifique Petição Método
Jogue um se declaração ao redor de seu processador existente de forma que verifica ver se dados vem da variável global de poste. Se não, então o operador não acede sua forma que a maneira que você projetou ser usado.

  1. <? php
  2. se ( $_SERVIDOR [ ‘REQUEST_METHOD’ ] == ‘POST’ ) {
  3. //forma típica processa
  4. } mais {
  5. ecoe " A forma não pode ser usada como isso " ;
  6. }
  7. ? >

Mude isto RECEBER se você’re usando isso em vez disso. No entanto, eu ria alto recomenda-o nunca usa esse método como é mais inseguro.

Verifique Petição Fonte
Você também deve verificar ver se a petição origina do próprio servidor. Isto é um método muito comum de abuso de forma que doesn’t necessariamente meio você’ll recebe spam. Se você&servidor #8217;re recebe muitos emais pulados a seu email predeterminado que você pode ter alguém abusando seu local nesta maneira.

  1. <? php
  2. $fonte = $_SERVIDOR [ ‘HTTP_HOST’ ] ;
  3. //Ou se quer detectar somente o território que você pode usar uma expressão regular para filtrá-lo.
  4. $fonte = ereg_replace ("^(www.)?([^.] ).[^.] $” , " \\2" , $_SERVIDOR [ ‘HTTP_HOST’ ] ) ;
  5. se ( $fonte ! = = " robmalon.com " ) {
  6. ecoe " você ilegalmente acede este manuscrito " ;
  7. } mais {
  8. //forma típica processa
  9. }
  10. //O referrer também deve ser do próprio território…Likewise, se não há nenhuma referência então o operador obviamente isnt usando sua forma corretamente (tão vestimos temos que verificar para isso).
  11. O stristr //Note: () procuras para a primeira ocorrência de uma barbante dentro de outra barbante.
  12. se ( stristr ( getenv ("HTTP_REFERER " ) , $fonte ) ) {
  13. //forma típica processa
  14. } mais {
  15. ecoe " você ilegalmente acede este manuscrito " ;
  16. }
  17. ? >

Usar Expressões Regulares Para Dados Validação
Gosto de verificar dados usando preg_match (ou qualquer das funções regulares de expressão). Este método mata muitos pássaros com uma pedra. Por que escreve funções separadas verificar se uma barbante está vazia, então outra se permite números, e outro se permite caráteres de alfa, e outro a comprimento específico de campo, e outro…you compreende.

se (! preg_match_match ({5.15}$/”, $nome)) $erro =. “<a classe de li = \”errors\”>O campo de Nome só pode conter letras e números (nenhuns espaços) e só podem ser até 15 caráteres longo.</li>”;

No preg_match eu verifico que o campo de nome só contem valores alfanuméricos (caso insensível) e necessidades ser ao menos 5 a 15 caráteres em comprimento. Se veste’t encontra essa especificação apropriar-se texto é adicionado a $erro.

“[variable] que usa [dot][equals] [text]” nesta moda permite que mantenha uma variável continuada que eu’m adiciona a. Eu então posso verificar ver se $erro contem qualquer dados antes de meu manuscrito faz qualquer significativo inquire. Se há erros que você pode expectorá-los fora por ecoar $erro e pede que o operador os corrija. Eu então uso CSS para desenhar meus erros que você pode ver com classe = \”errors\”.

Expressões regulares desafiantemente têm um aprende curva neles mas têm um ano de as melhores ferramentas que podem ajudar simplifica sua vida em uma variedade de situações. Eu’ll entra em mais detalhe sobre eles abate a estrada mas para agora você pode querer comprar um livro ou faz algum Googling.

O Não-Técnico Recapitula
-Implementa um manuscrito de CAPTCHA.
-Fuga corta (e outros maus caráteres).
-Cheque ver se dados vem a sua forma usando o método correto.
-Cheque ver se a petição origina do próprio servidor.
-Dados de cheque usando uma expressão regular.

Isto é somente a ponta do iceberg para ele que eu posso contá-lo sobre spam. Que por que eu’ve decidiu fazer uma série minúscula de ele. Sobre as próximas semanas de par que eu trarei você mais detalhou maneiras que eu lido com spam. Comente embaixo ou envie um email me sobre o próprio spam métodos preventivos. Se é uma nova técnica rara que eu ele colocarei num blog futuro junto com umas costas de elo a seu blog. Somente escreva nos comentários sob e inclui seu URL no campo de website.


1 Comentário (Comentários) Em

"5 Maneiras De Pegar E De Prevenir Website Forma Spam - Partem 1"
  1. MyAvatars 0.2 Assalte - Estragam 5, 2008

    Acaba de ocorrer a mim…setting para cima esses se declarações com um morre () declaração talvez seja mais fácil para um método rápido e sujo. Qual eu’m seguro a maioria de você ao menos para agora quereria um quickfix somente arremessar em. Mantenha que em mente…Something como isto:

    se ($_SERVER[ "REQUEST_METHOD"]! = = "POSTE") { morre (forma ”The não pode ser usado como isso”); }

    Pode pôr que em qualquer lugar no começo de um manuscrito para tomar efeito código sem preocupar-se com existente demais.



Deixe UM Comentário:

Comente RSS Alimentar

6 4 =

Temasob medida por Assaltar Malon | Contente & Projeto © 2008 - Assalta Malon [ponto] Com. "));