P

PHP-Alan994

Usuario (Ecuador)

Primer post: 20 jun 2012Último post: 20 oct 2012
2
Posts
36
Puntos totales
0
Comentarios
S
Sistema de Captcha v1.0
Hazlo Tu MismoporAnónimo6/20/2012

Hola amigos de la comunidad de Taringa!, pues acá les traigo un simple sistema de captcha que he creado hace un rato para una página web de mi Universidad desarrollada desde 0. Bueno a continuación les dejo los 3 archivos que hacen de este sistema funcional: Imagen: Nota: Recuerda si encuentras algún error, ya que de esta manera podemos perfeccionarlo, Gracias. => Index.html <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//ES' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> <head> <title>CAPTCHA V1.0 - EcuaSoft</title> <meta name="author" content="Alan Guevara - Ecuador" /> <meta name="revised" content="19/06/12"/> <meta name="description" content="Prohibe el ingreso a los Bots, con un simple sistema de Captcha validado." /> </head> <body> <b>Ejemplo de Uso de este sistema en su v1.0 .</b> <p> Requirimientos: PHP 5, Librería GD y Soporte de Session</p> <?php /** COMPROBAR LIBRERIA GD, Y VERSION DE PHP **/ if(!function_exists('gd_info')){ die('Lo sentimos, no posees una version de la libreria Grafica GD propia de PHP 5'); }elseif( version_compare(PHP_VERSION, '4.3', '<') ) { die('La version de PHP, no es la adecuada para continuar con el script. '); }elseif( !function_exists('session_start')){ die('Tu version de PHP, no posee soporte sessions '); } ?> <div style="width: 400px; border: 1px solid #000; margin-top: 60px; text-align: center;"> <br/> Ejemplo de Uso de Captcha en Formularios: <br/><br/> <form action="validar.php" method="POST"> <img src="captcha.php" alt="captcha" /> <br/><input type="text" name="response" value="" /> <br/><input type="submit" value="Verificar Respuesta" /> </form> <br/> (Refresca la página, para que el captcha cambie.) <br/><br/> </div> </body> </html> => validar.php <?php //####################################################################### //# Author: Alan Guevara Chávez # //# Filename: validar.php # //# Copyright: EcuaSoft 2012-2013 - PHP Roles Developers # //# Description: Sistema de Captcha Version 1.0 # //# # //# License: Este software es de uso libre, sin fines de lucro # //# o comercial. Ayudanos a ayudar. # //####################################################################### //Iniciar Gestor de Session @session_start(); if(ISSET($_SESSION['captcha'])){ //Key Generada y Guardada en una variable de Session $challenge = strtolower($_SESSION['captcha']); if(ISSET($_POST['response'])){ //Codigo ingresado por el usuario. $response = strtolower(trim($_POST['response'])); //Si la respuesta ORIGINAL, es igual a la ingresada por el Cliente. if($challenge==$response){ echo " Verificación Correcta. :) "; }else{ echo " El código ingresado no coincide con la imagen. "; } } else { die("Lo siento, debes ingresar el codigo de la imagen en la respectiva casilla."); } } else { die("Lo siento, la variable de session no existe. "); } ?> => captcha.php <?php //####################################################################### //# Author: Alan Guevara Chávez # //# Filename: captcha.php # //# Copyright: EcuaSoft 2012-2013 - PHP Roles Developers # //# Description: Sistema de Captcha Version 1.0 # //# # //# License: Este software es de uso libre, sin fines de lucro # //# o comercial. Ayudanos a ayudar. # //####################################################################### /* OPCIONES DE CONFIGURACION */ $captchaCodeLength=8; //Dimensiones de Imagen $width = 125; $height = 30; // Colores de Fondo y Texto $bgR = mt_rand(128, 255); $bgG = mt_rand(128, 255); $bgB = mt_rand(128, 255); $txtR=$bgR - 128; $txtG=$bgG - 128; $txtB=$bgB - 128; $gridXincrement=24; $gridYincrement=19; $angleX=5; $angleY=5; /* NO MODIFICAR ESTA LINEA . */ @session_start(); /* CARACTERES ALEATORIOS TOMADOS DESDE EL BANCO DE LA VARIABLE! */ $banco = 'ABCDEFGHJKMNPQRSTUV12345689'; $newKey = ''; for($x = 0; $x < $captchaCodeLength; $x++){ //Aleatorio - Posicion de caracter $aleatorio = mt_rand(0, strlen($banco)-1); //Concatenar Caracter por caracter $newKey .= substr($banco, $aleatorio, 1); } //Guardar Key Generada en variable de sesion $_SESSION['captcha'] = str_replace(" ", "", $newKey); // Crear una nueva imagen, con dimensiones anteriormente dada. $image = imagecreate($width, $height); // Generar colores alojados. $bgColor = imagecolorallocate($image, $bgR, $bgG, $bgB); $txtColor = imagecolorallocate($image, $txtR, $txtG, $txtB); // Aplicar el fondo a la imagen. imagefill($image, 0, 0, $bgColor); /* Distorsionar la Imagen (GRID) - Lineas interseccionadas(x,y). */ for($gridX = 0; $gridX <= $width; $gridX+=$gridXincrement){ $gridXRAND=mt_rand($gridX, $gridX+3); imageline($image, $gridXRAND, 0, $gridXRAND + mt_rand(0, $angleX), $height, $txtColor); } for($gridY = 0; $gridY <= $height; $gridY+=$gridYincrement){ $gridYRAND = mt_rand($gridY, $gridY + 6); imageline($image, 0, $gridYRAND, $width, $gridYRAND + mt_rand(0, $angleY), $txtColor); } // Escribir la key generada en la imagen, en sentido HORIZONTAL $x=mt_rand(8, 15); $y=mt_rand(4, 10); imagestring ( $image , 5 , $x , $y, $newKey, $txtColor ); // Colocar un borde rectangular al resourceImagen imagerectangle($image, 0, 0, $width - 1, $height - 1, $txtColor); // Enviar Cabeceras, y prevenir que se guarde en cache los datos. header('Expires: Mon, 16 Sept 1994 00:00:00 GMT'); header('Cache-Control: no-cache, must-revalidate'); header("Content-Type: image/gif"); imagegif($image); imagedestroy($image); ?> Gracias por pasar por este tema, pues de eso se trata APRENDER A APRENDER. Saludos!

26
0
I
Introducción a PHP
Hazlo Tu MismoporAnónimo10/20/2012

PHP es un potente lenguaje, y su intérprete, bien como módulo del servidor web o bien como binario CGI, puede acceder a ficheros, ejecutar comandos o abrir conexiones de red desde el servidor. Estas propiedades hacen que, por omisión, sea inseguro todo lo que se ejecute en un servidor web. PHP está diseñado específicamente para ser un lenguaje más seguro para escribir aplicaciones CGI que Perl or C. Partiendo de un correcto ajuste de opciones de configuración para tiempo de ejecución y en tiempo de compilación, y el uso de prácticas de programación apropiadas, pueden proporcionarle la combinación de libertad y de seguridad que necesita. Dado que hay muchas vías para ejecutar PHP, existen muchas opciones de configuración para controlar su comportamiento. Al haber una extensa selección de opciones se garantiza poder usar PHP para un gran número de propósitos, pero a la vez significa que existen combinaciones que conllevan una configuración menos segura. La flexibilidad de configuración de PHP rivaliza igualmente con la flexibilidad de su código. PHP puede ser usado para construir completas aplicaciones de servidor, con toda la potencia de un usuario de consola, o se puede usar sólo desde el lado del servidor implicando un menor riesgo dentro de un entorno controlado. El cómo construir ese entorno, y cómo de seguro es, depende del desarrollador PHP. Este capítulo comienza con algunos consejos generales de seguridad, explica las diferentes combinaciones de opciones de configuración y las situaciones en que pueden ser útiles, y describe diferentes consideraciones relacionadas con la programación de acuerdo a diferentes niveles de seguridad. Más Info: http://***/programacion/introduccion-a-php/

10
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.