Conseguía tanto spam en mi buzón diario que dedicaba más tiempo que borra entonces agregaba nuevo contenido, mantenía los sitios, o comenzaba nuevos sitios combinados (el derecho típico de historia). Algunos de su spam de sitio web no son evitable, ni, es evitable, pero a costa de valor práctico y/o información buena ser agarrado en el material “bad” también.

Sin duda, si usted’re grave acerca del desarrollo de telaraña usted’re que va a estar creando y para estar interactuando con formas con regularidad. ¿Especialmente con esta nueva telaraña 2,0 actitud cada tiene&wiz #8230;gee, lo que’s eso?

CAPTCHA
CAPTCHA es el número un método la mayoría de las personas utilizan para prevenir spam hoy. ¿Qué es?

CAPTCHA “A es una prueba de la respuesta del desafío utilizada en computadoras de verificar si el usuario es humano. Una clase común de CAPTCHA que es utilizado en sitios web requiere que el visitante escribe a máquina las cartas y los números de una imagen retorcida. Este método es basado en el hecho que es difícil para computadoras extraiga el texto de la imagen mientras es muy fácil para humanos. ” - captchacreator com

Aquí’s unos pocos recursos a escrituras tan usted’ll puede aplicar esa funcionalidad en sus propias formas:

Escape los Datos - Previene SQL Inyecciones
Capcha es usless si usted’re que sale su forma improtegida del ataque. Recuerde de filtrar cuerdas de poste con addslashes () o mysql_real_escape_string().

También eche una mirada a estas funciones para otra clase semejante de cheques que quizás sean útiles:

  • Htmlspecialchars () - Escapa los caracteres siguientes: &,’,”,>,< ...that is the ampersand, single quote, double quote, less than, and greater than symbols.
  • Strip_tags() - las Tiras fuera todo protocolo de transferencia de hipertexto y PHP codifican de la cuerda dada.
  • Htmlentities () - Convierte TODOS caracteres a su equivalente de entidades de protocolo de transferencia de hipertexto (esto es un más cogido toda versión de htmlspecialchars).
  • Urlencode () - Codifica la URL para pasar cuerdas en un CONSIGUE el método. Cuando mencioné, Don&el uso #8217;t CONSIGUE con formas. Esto es útil cuando usted’re que pasa a usuario las variables de entrada para otras razones.

Recuerde, una vez que usted convierte los datos como este utilizar uno del encima de funciones, usted lo puede deshacer para legibilidad y salida utilizando su función inversa. Urlencode () tiene por ejemplo urldecode () deshacer sus acciones tan usted puede empezar utilizando la cuerda como usted tendría antes el codifica.

Verifique el Método de Petición
Tire un si la declaración alrededor de su procesador existente de forma que verifica para ver si los datos vienen de la variable global del poste. Si no, entonces el usuario no conseguir acceso a su forma la manera que usted diseñó para ser utilizada.

  1. <? php
  2. si ( $_SERVIDOR [ ‘REQUEST_METHOD’ ] == ‘POST’ ) {
  3. //forma típica procesa
  4. } más {
  5. resuene " La forma no puede ser utilizada como eso " ;
  6. }
  7. ¿? >

Cambie esto CONSEGUIR si usted’re que utiliza eso en lugar. Sin embargo, yo recomendaría alto que usted nunca utilice ese método como es más inseguro.

Verifique la Fuente de Petición
Usted también debe verificar para ver si la petición se origina en su propio servidor. Esto es un método muy común del abuso de forma que doesn’t necesariamente medio usted’ll recibe spam. Si usted&servidor #8217;re consigue muchos botados correos electrónicos a su predefinido correo electrónico que usted puede tener alguien abusando su sitio en esta manera.

  1. <? php
  2. $la fuente = $_SERVIDOR [ ‘HTTP_HOST’ ] ;
  3. //O si usted quiere discernir justo el dominio usted puede utilizar una expresión regular para filtrarlo.
  4. $la fuente = ereg_replace ("^(www.)?([^.] ).[^.] $” , " \\2" , $_SERVIDOR [ ‘HTTP_HOST’ ] ) ;
  5. si ( $la fuente ! = = " robmalon.com " ) {
  6. resuene " usted conseguir acceso a ilegalmente esta escritura " ;
  7. } más {
  8. //forma típica procesa
  9. }
  10. //El referrer también debe ser de su propio dominio…Likewise, si no hay referencia entonces el usuario obviamente isnt que utiliza su forma correctamente (tan nosotros nos pusimos tenemos que verificar para eso).
  11. Stristr //Note: () las búsquedas para la primera ocurrencia de una cuerda dentro de otra cuerda.
  12. si de stristr ( ( ( getenv"HTTP_REFERER " ) , $la fuente ) ) {
  13. //forma típica procesa
  14. } más {
  15. resuene " usted conseguir acceso a ilegalmente esta escritura " ;
  16. }
  17. ¿? >

Utilizando las Expresiones Regulares Para la Validación de Datos
Quiero verificar los datos que utilizan preg_match (o cualquiera de la expresión regular funciona). Este método mata muchos pájaros con una piedra. Por qué escribe las funciones separadas para verificar si una cuerda es vacía, entonces otro si permite los números, y otro si permite los caracteres alfas, y otro a la longitud específica del campo, y otro…you entende.

si (! preg_match_match ({5.15}$/”, $el nombre)) $el error =. “<la clase de Long Island = \”errors\”>El campo del Nombre sólo puede contener cartas y números (no espacios) y sólo puede estar hasta 15 caracteres largos.</Long Island>”;

En el preg_match yo verifico que el campo del nombre sólo contiene los valores alfanuméricos (embala insensible) y las necesidades de ser por lo menos 5 a 15 caracteres de largo. Si usted se pone’t encuentra esa especificación apropia texto es añadido a $el error.

Que utiliza “[variable] [dot][equals] [text]” en esta moda me permite mantener una variable progresiva que yo’m que añade a. Yo entonces puedo verificar para ver si $el error contiene cualquier datos antes mi escritura hace cualquier pregunta significativa. Si hay los errores que usted los puede escupir fuera resonando $el error y pedir que el usuario corrijalos. Yo entonces utilizo CSS para estilizar mis errores que usted puede ver con la clase = \”errors\”.

Las expresiones regulares tienen desafiantemente un proceso de aprendizaje en ellos pero ellos son uno de los mejores instrumentos que pueden ayudar a simplificar su vida en una variedad de situaciones. Yo’ll entra más detalle acerca de ellos hacia abajo el camino pero para ahora usted puede querer comprar un libro o hacer algún Googling.

La Recapitulación no técnica
-Aplica una escritura de CAPTCHA.
-El escape corta (y otros caracteres malos).
-Cheque para ver si los datos vienen a su forma que utiliza el método correcto.
-Cheque para ver si la petición se origina en su propio servidor.
-Los datos de cheque que utilizan una expresión regular.

Esto es justo la punta del iceberg para lo que yo le puedo decir acerca de spam. Que por qué yo’ve decidió hacer una serie mini de ello. Sobre las próximas semanas de la pareja que estaré trayendo usted más detalló las maneras que trato con spam. Comente abajo o mande correo electrónicome acerca de su propio spam los métodos preventivos. Si es una técnica nueva o extraordinaria que anunciaré en un futuro blog junto con una espalda de lazo a su blog. Escriba justo en los comentarios debajo de e incluya su URL en el campo de sitio web.


1 Comentario (los Comentarios) En

"5 Maneras de Agarrar Y Prevenir Spam de Forma de Sitio web - Despide 1"
  1. MyAvatars 0.2 Robe - Estropea 5, 2008

    Acaba de ocurrir a mí…setting arriba esos si las declaraciones con un se muere () la declaración quizás sea más fácil para un método rápido y sucio. Cuál yo’m seguro la mayor parte de usted por lo menos para ahora desearía en que un quickfix tire justo. Mantenga que en la mente…Something como esto:

    si ($_SERVER[ "REQUEST_METHOD"]! = = el "POSTE") { se muere (forma ”The no puede ser utilizada como eso”); }

    Usted puede poner que dondequiera al principio de una escritura para lo surtir efecto sin preocupar por código existente demasiado.



Deje UN Comentario:

Comenta Comida de RSS

7 - 2 =

El Temade la costumbre por Rob Malon | el Contenido & Diseña © 2008 - Rob Malon [punto] Com. "));