Quinti.net - Forum Scripts PHP
Agosto 08, 2007, 05:07:28 *
Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Formulario web seguro antispam con CAPTCHA, foro abierto para dudas sobre instalación, configuración, personalización y demás
 
  Inicio Ayuda Buscar Calendario Ingresar Registrarse  
  Mostrar Mensajes
Páginas: [1]
1  Scripts PHP / Formulario web seguro antispam con CAPTCHA / Re: Formulario web seguro antispam con CAPTCHA V1.2 en: Marzo 23, 2007, 04:41:11
Welcome!
It's a pleasure

kind regards
2  Scripts PHP / Formulario web seguro antispam con CAPTCHA / Formulario web seguro antispam con CAPTCHA V1.2 en: Febrero 16, 2007, 02:16:31
Hola!

nueva versión!

Cambios hechos el 16-02-2007:
1- Si por algún motivo el usuario no tiene el Javascript habilitado, se añade validación con funciones PHP, por tanto doble validación.
2- Se añade información del usuario: IP, Navegador, Referencia y Fecha.
3- Si el formulario se accede desde otra vía que no sea un navegador web, se prohíbe el acceso.
así:
Código:
if(!isset($_SERVER['HTTP_USER_AGENT'])){
   die("Forbidden - You are not authorized to view this page");
   exit;
}

y listo, ya podeis descargaros la versión 1.2 aqui!!
3  Posicionamiento / Buscadores / Los Buscadores en: Octubre 02, 2006, 03:00:21
Los buscadores en Internet

En los últimos tiempos, el posicionamiento en buscadores se ha convertido en una de las herramientas más importantes por el marketing en línea. En particular, aparecer en las primeras posiciones en Google es algo indispensable si se quiere generar tráfico hacia nuestro sitio web, ya que Google responde a casi el 50% de las búsquedas de Internet.

Google: 47.1%
Yahoo:  21.2%
MSN:    12.8%

Cada vez que alguien realiza una búsqueda en un buscador existen dos posibilidades, que encuentre nuestra página, o a nuestra competencia. El retorno de la inversión se centra cada vez más en desarrollar una estrategia para que los clientes hallen nuestra web en resultados de búsqueda (ya sean resultados naturales o patrocinados).

En especial, si la empresa tiene unos objetivos de crecimiento con nuevos clientes o entrada a nuevos mercados, una de las mejores estrategias es la basada en el posicionamiento en todos los buscadores incluyendo MSN, Google, Terra, Ya.com, Lycos, etc.

En esta línea, trabajando según los algoritmos del buscador Google, se consigue cubrir un alto porcentaje del mercado, puesto que, además, muchos de los otros buscadores también trabajan con el algoritmo de Google o con uno similar.

[continuará...]
4  Scripts PHP / Formulario web seguro antispam con CAPTCHA / Re: Formulario web seguro antispam con CAPTCHA en: Marzo 10, 2006, 11:11:03
Qué tal Wald!

buahs, a ver si saco tiempo...

a ve.

ciaus
5  Scripts PHP / Formulario web seguro antispam con CAPTCHA / Re: Formulario web seguro antispam con CAPTCHA en: Febrero 04, 2006, 09:18:40
Os preguntaréis por qué he puesto el JavaScript desde PHP? porque mi web es multilenguaje, así paso las variables en los distintos idiomas a los "alert",
este tema de webs multilenguaje es muy interesante, si tengo tiempo os explico cómo se hace...

saluditos
6  Scripts PHP / Formulario web seguro antispam con CAPTCHA / Formulario web seguro antispam con CAPTCHA en: Febrero 04, 2006, 08:48:12
En la pag Recursos de Quinti.net  (Disponible en Español, Galego e Inglés) tenéis info sobre el tema que tb trataré aquí:

- Scripts PHP
- Formulario web seguro antispam con CAPTCHA

He sido atacado mil veces por spammers desde mi formulario de contacto, éstos usan robots y aprovechan ciertas vulnerabilidades de los formularios de correo para enviar su spam, y de paso, te llenan el buzón hasta tal punto, que te hacen prácticamente inservible el mail.

Para solucionarlo, hay dos formas: introducir un CAPTCHA, validado mediante JavaScript, como veremos al final.
E introducir ciertas funciones en PHP que impiden estos ataques, como veremos en los ejemplos.
De momento, introducíos al problema.


      -Links relacionados - Información:

CAPTCHA (Español) - http://es.wikipedia.org/wiki/Captcha
Descripción del Problema (Inglés) - http://www.modwest.com/help/kb9-314.html
Más descripciones del problema (Inglés) - http://www.anders.com/cms/75/Crack.Attempt/Spam.Relay



Solución:
He adaptado un magnífico script de CAPTCHA por validación en JavaScript de: http://www.archreality.com/jcap/#j1

  Veamos primero el código del formulario en PHP, consta de 2 archivos, contacto.php y gracias.php:


  contacto.php:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="shortcut icon" href="image.gif" type="image/x-icon" />
<title>Quinti.net - Contact form example web secure anti spam with captcha</title>
 <?
  echo "<script type=\"text/javascript\">\n";
  echo "<!--\n";
  echo "function validar(form1) {\n";
  echo "if (form1.name.value.length < 2) {\n";
  echo "alert('";
  echo "Inserte el nombre";;
  echo "')\n";
  echo "form1.name.focus();\n";
  echo "return (false);}\n";
  echo "var checkOK = \"ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ\" + \"abcdefghijklmnñopqrstuvwxyzáéíóú \";\n";
  echo "var checkStr = form1.name.value;\n";
  echo "var allValid = true;\n";
  echo "var uword = hex_md5(document.getElementById('uword').value)\n";
  echo "for (i = 0; i < checkStr.length; i++) {";
  echo "ch = checkStr.charAt(i);\n";
  echo "for (j = 0; j < checkOK.length; j++)\n";
  echo "if (ch == checkOK.charAt(j))\n";
  echo "break;\n";
  echo "if (j == checkOK.length) {\n";
  echo "allValid = false;\n";
  echo "break;";
  echo "}}\n";
  echo "if (!allValid) {\n";
  echo "alert('";
  echo "Inser a name";
  echo "');\n";
  echo "form1.name.focus();\n";
  echo "return (false);}\n";
  echo "if ((form1.email.value.indexOf ('@', 0) == -1)||(form1.email.value.length < 9) || form1.email.value.indexOf ('.', 0)== -1 ){\n";
  echo "alert('";
  echo "Insert a valid email ";
  echo "');\n";
  echo "form1.email.focus();";
  echo "return (false);}\n";
  echo "if (form1.message.value.length < 7) {\n";
  echo "alert('";
  echo "Insert a message";
  echo "');\n";
  echo "form1.message.focus();";
  echo "return (false);}\n";
echo "if (uword==cword[anum-1]) {\n";
  echo "return true;}\n";
  echo "else {\n";
  echo "alert('";
  echo "Insert image code (is to prevent spam) ";
  echo "');\n";
  echo "document.getElementById('uword').focus();\n";
  echo "return false;}\n";
  echo "return (true);}\n";
  echo "-->\n";
  echo "</script>\n";
  ?>
<script type="text/javascript" src="md5.js"></script>
<script type="text/javascript" src="jcap.js"></script>
<style type="text/css">
<!--
  img{border:0;}
  -->
</style>
</head>
<body>
<form method="post" onsubmit="return validar(this)" id="form1" action="gracias.php">
<p>
<input type="hidden" name="token" value="<?=$token?>" />
</p>
<p>
  Nombre:*<input name="name" type="text" value="" />
</p>
<p>
  E-mail:* <input name="email" type="text" value="" />
</p>
<p>
  Asunto: <input name="phone" type="text" value="" />
</p>
<p>
  Mensaje:* <br />
<textarea name="message" cols="30" rows="5"></textarea>
</p>
<p>
  Insert the image code* (to prevent spam)</p>
<p><input type="text" name="uword" id="uword" value="" /> </p>
 <p><script type="text/javascript">cimg()</script> </p>
<p>
<input type="submit" value="enviar" />
</p>
</form>
<p>fields with * are obligatory.
<a href="http://www.quinti.net" title="www.quinti.net - diseño web y multimedia"><img src="http://www.quinti.net/pics/q.png" width="21" height="14" alt="diseño web y multimedia" /></a></p>
 <p>
<a href="http://validator.w3.org/check?uri=referer"><img
  src="http://www.w3.org/Icons/valid-xhtml11"
  alt="Valid XHTML 1.1" height="31" width="88" /></a>
</p>
</body>
</html>
       
 
 
  bien, vemos que en el <head> escribimos en php el validador de campos en JavaScript.

  Y también incluimos 2 archivos .js externos, propiedad de http://www.archreality.com/jcap/#j1
los cuales les he modificado una función.

  Veamos ahora el procesaror del formulario, llamado gracias.php:


Código:
<?
@import_request_variables("gpc");//import variables
$youremail = "tudireccion@dominio.net "; //your mail
$subject = "el título del tema "; // for example, title of your contact page page - contact
$redirect = "contacto.php";//url to be redirected when contact form is sent
$secs = "5";// time in seconds will be redirected
if(eregi("MIME-Version:",$postVars)) {
  mail("tudireccion@dominio.net", "Form Hijack Attempt", "A spam relay was attempted from the Web site and was blocked.", "From:SpamMonitor");
  die();
  } //block spam

 $secret = 'ssshhitsasecret';
  $token = md5(rand(1, 1000).$secret);
  $_SESSION['token'] = $token;
  ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" >
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<title> Thank you, processor example anti spam with captcha by quinti.net, correct process</title>
<meta http-equiv="refresh" content="<?=$secs;?>;URL=<?=$redirect;?>" />
</head>
<body>
<?
  // variables to stop spammers
  $name = stripslashes($name);
  $message = stripslashes($message);
  $headers .= "From: " . $email . "\r\n\r\n";
  //This is where the email is sent using your values from above. Be sure to update this if you change any fields in contact.php
  mail("$youremail", "$subject","
  Name: $name
  Email: $email
  Phone: $phone
  Message: $message
",$headers);
  // Strip \r and \n from the email address
  $_POST['email'] = preg_replace("\r", "", $_POST['email']);
  $_POST['email'] = preg_replace("\n", "", $_POST['email']);
  $_SESSION['token'] = $token;
  $token = md5(rand(1, 1000).$secret);
  $secret = 'ssshhitsasecret';
  $field = preg_replace( "/[\n\r]+/", " ", $field );
  // Remove injected headers
  $find = array("/bcc\:/i","/Content\-Type\:/i","/cc\:/i","/to\:/i");
  $_POST['email'] = preg_replace($find, "", $_POST['email']);
  $message = preg_replace($find, "", message);
  $email=str_replace("\r","\n",$email);
  $name=str_replace("\r","\n",$name);
  $message=str_replace("\r","\n",$message);
  $phone=str_replace("\r","\n",$phone);
 
 
  if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
  ob_clean();
  mail("$youremail", "Message Killed", "$message", "From: $name <$email>");
  exit("Message killed.");
  }
  if (eregi('^(bcc$|content-type|mime-version|--)',$key))
  print_error("Field names indicate exploit."); //bloqueo de spam
?>
<p>Thank you, the contact form was sent correctly. In 5 seconds you will be redirecte to index page.</p>

 </body>
</html>

- ver ejemplo sin estilos
- ver ejemplo con estilos
- Descripción:

    * Formulario de Contacto seguro antispam, invulnerable
    * Validador de campos en JavaScript escrito en PHP (para insertar variables multilenguaje, si se desea, u otras variables)
    * Frena a los spammers para usar tu formulario para enviar su basura: Garantizado
    * CAPTCHA para evitar Spam con validación JavaScript
    * Fácil de instalar y configurar
    * Validado XHTML 1.1


- NOTA IMPORTANTE: Para quitar el link del creador, y/o para su uso comercial, el formulario cuesta 30&euro; , COMPRAR AHORA VÍA PAYPAL + info en formulario de contacto

- descargar el archivo completo quinti.net_form+jcap.rar (942 kb.)

 
  Dudas sobre la instalación aquí en este foro y/o en formulario de contacto
7  Categoría General / General / Re: Inauguración en: Enero 17, 2006, 02:18:12
jejeje

hotiá, no había visto nada.., se suponía me debería llegar un mail...pero no...

pos no, aquí no hay ni dios...jejej

ah, sabes?
en la galería de fotos esa de Sarria, que ahora es www.fotosdesarria.com me encontré al Rivas, (su blog) www.visionesdelmundo.com  jeje, parece que los que andais por ahí nos vamos encontrando por la red...y yo aquí metido haciendo webes...., y estudiando el gmm, que cada vez es más chungo... ayss, a ver si me sale ya un curro en un buen studio web multimedia...

y....pues no estaba seguro que de fuese el, pero sí, y pone unas fotos preciosas...

quizás debería poner este forum u otro allí?

no sé, algo surgirá...

por cierto, "El Calamar" está tb embarazado, jejej,
mola

bueno, feliz año,

ciau
8  Categoría General / General / Re: Inauguración en: Noviembre 18, 2005, 10:41:34
jej sí, este es una pasada

no, dale dale, todo tuyo, pa eso esta, pa lo q quieras

Ciau
Páginas: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC | Volver a Quinti.net XHTML 1.0 válido! CSS válido!