Quinti.net - Forum Scripts PHP
Diciembre 28, 2008, 05:53:12 *
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  
Páginas: [1] 2
 1 
 en: Marzo 23, 2007, 04:41:11  
Iniciado por Quinti - Último mensaje por Quinti
Welcome!
It's a pleasure

kind regards

 2 
 en: Marzo 21, 2007, 04:07:33  
Iniciado por Quinti - Último mensaje por Esteve
Nice work on your secure contact. It makes my life alot easier. Thank you so much for your help.

 3 
 en: Febrero 16, 2007, 02:16:31  
Iniciado por Quinti - Último mensaje por Quinti
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!!

 4 
 en: Octubre 02, 2006, 03:00:21  
Iniciado por Quinti - Último mensaje por Quinti
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á...]

 5 
 en: Julio 07, 2006, 10:40:21  
Iniciado por Quinti - Último mensaje por Karl


 hola niño,

 no será porque no ha pasado tiempo.... desde luego, estás de lo más despistado, aunque imagino que andas durmiendo a pierna suelta a estas horas mañaneras tan tempranas (10:37 am, hora Madrid y toda la pesca), estoy pensando en montar yo un par de foros de estos, quedan guay ¿no hablamos de algo de tu servidor? me falla la memoria después de tanto tiempo, ¿por cierto, esto admite html, dhtml, xml?

 A ver si hablamos más niño perdido...

 Un abrazo, los besos ya sabes a quién se los doy...  Grin

 [/
font][color]

 6 
 en: Marzo 10, 2006, 11:11:03  
Iniciado por Quinti - Último mensaje por Quinti
Qué tal Wald!

buahs, a ver si saco tiempo...

a ve.

ciaus

 7 
 en: Marzo 05, 2006, 08:16:27  
Iniciado por Quinti - Último mensaje por Wald
Hola Quinti,

 Estaría bien que lo explicaras...

 1 saludito

 Karl

 PD: Por cierto, la puñetera "dislexia" me la ha jugado al registrarme y he colocado mal el correo...  Grin

 8 
 en: Febrero 04, 2006, 09:18:40  
Iniciado por Quinti - Último mensaje por Quinti
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

 9 
 en: Febrero 04, 2006, 08:48:12  
Iniciado por Quinti - Último mensaje por Quinti
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

 10 
 en: Enero 17, 2006, 02:18:12  
Iniciado por terapia13 - Último mensaje por Quinti
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

Páginas: [1] 2
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!