elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / PHP / Duda con un script de envio en PHP en: 3 Abril 2007, 21:09 pm
Hola!

En primer lugar gracias que ElHacker.Net volvió! Ya se le extrañaba.

Amigos vengo con una duda, trate de hacerlo solo pero no pude, tengo una duda sobre un script en PHP que encontré en la Internet el cual se encarga de enviar los datos de un formulario al e-mail.

Este es el script original:

Código:
<?php 

// aki tu e-mail

$recipiente = "fulanito@dominio.com";


// URL o enlace a la pagina hogar

$home = "http://google.com";


// mensaje k te llegara al email con los datos

$msg = "Hola $nombre

$nombre, envia el formulario de contacto con los siguientes datos:\n

Nombre: $nombre
E-mail: $email
Pagina de internet: $web 

Asunto: $asunto

Mensaje del visitante:

$mensaje\n\n";

// Comprobamos que los campos del formulario se encuentren completos.

if (empty($nombre)||empty($email)||empty($asunto)||empty($mensaje)){
echo 'No llenaste las casillas';

} else{

// Enviamos el formulario con todos los datos.

mail("$recipiente", "$asunto", "$msg", "From: $nombre");

//Damos las gracias al visitante por contactarnos.

echo"<font face=tahoma size=2>
<p align=center>Gracias <b>$nombre</b>. 
<p align=center>Respondere a su mensaje en un plazo de 12 horas.<br><br>
<br>
<p align=center><br>
<strong><a href=$home>Regresar al inicio</strong></a>.</p>";
}
?>

El problema con este script es que no evita los ataques anti flood, ya que le pase la dirección de mi formulario de contacto a un amigo y me envio 200 emails en 1 hora por medio del mismo.

Buscando en la Internet encontré esta web:

http://www.webcheatsheet.com/php/create_captcha_protection.php

La cual explica muy bien como agregar un código de verificación a cualquier formulario para evitar los Floods pero no lo entendí muy bien. Si quieres visiten esa web para que lo entiendan
mejor, el caso es que tengo los siguientes archivos:

Contacto.html  - este es mi formulario de contacto en HTML

Enviado.php - este es el script que les puse anteriormente,  el cual envía los datos al email

Create_image.php  –   este se encarga de crear la imagen en PHP (el código de confirmación).

ajax_captcha.js  -  un código en java script que tiene que ver con create_image.php, este archivo lo tengo que incluir en mi formulario de contacto con un: 

Código:
<script language="javascript" type="text/javascript" src="ajax_captcha.js"></script>

Vamos bien… Los ejemplos de la web me dio otro archivo llamado: captcha.php el cual verifica que campo del formulario (el campo del código de verificación) no este vacio y que corresponda con la imagen que se guardo para poder enviarse.
Capcha.php contiene el siguiente código:

Código:
<?


//Continue the session
session_start();

//Make sure that the input come from a posted form. Otherwise quit immediately
if ($_SERVER["REQUEST_METHOD"] <> "POST")
 die("You can only reach this page by posting from the html form");

//Check if the securidy code and the session value are not blank
//and if the input text matches the stored text
if ( ($_REQUEST["txtCaptcha"] == $_SESSION["security_code"]) &&
    (!empty($_REQUEST["txtCaptcha"]) && !empty($_SESSION["security_code"])) ) {
  echo "<h1>Test successful!</h1>";
} else {
  echo "<h1>Test failed! Try again!</h1>";
}
?>

Ahora, yo pensé que podía agregarle el contenido de captcha.php a mi archivo con el script enviado.php pero algo salió mal… no puedo hacer funcionar el script enviado.php si agrego el otro (captcha.php)

Esto es lo que tengo en enviado.php hasta el momento:

Citar
<?php

//Continue the session
session_start();

//Make sure that the input come from a posted form. Otherwise quit immediately
if ($_SERVER["REQUEST_METHOD"] <> "POST")
 die("You can only reach this page by posting from the html form");


// aki tu e-mail

$recipiente = "fulanito@dominio.com";


// URL o enlace a la pagina hogar

$home = "http://google.com";


// mensaje k te llegara al email con los datos

$msg = "Hola $nombre

$nombre, envia el formulario de contacto con los siguientes datos:\n

Nombre: $nombre
E-mail: $email
Pagina de internet: $web 

Asunto: $asunto

Mensaje del visitante:

$mensaje\n\n";

// Comprobamos que los campos del formulario se encuentren completos.

if (empty($nombre)||empty($email)||empty($asunto)||empty($mensaje)){
echo 'No llenaste las casillas';

} else{

//Check if the securidy code and the session value are not blank
//and if the input text matches the stored text
if ( ($_REQUEST["txtCaptcha"] == $_SESSION["security_code"]) &&
    (!empty($_REQUEST["txtCaptcha"]) && !empty($_SESSION["security_code"])) ) {
  echo "<h1>Test successful!</h1>";
} else {
  echo "<h1>Test failed! Try again!</h1>";
}


// Enviamos el formulario con todos los datos.

mail("$recipiente", "$asunto", "$msg", "From: $nombre");

//Damos las gracias al visitante por contactarnos.

echo"<font face=tahoma size=2>
<p align=center>Gracias <b>$nombre</b>. 
<p align=center>Su mensaje fue enviado con <b>&#38;#161;exito!...</b>
<p align=center>Respondere a su mensaje en un plazo de 12 horas.<br><br>
<br>
<p align=center><br>
<strong><a href=$home>Regresar al inicio</strong></a>.</p>";
}
?>

Nota:

Lo que esta en negrita del codigo citado es lo que le agregue al script original, pero no funciona... Creo que el problema es con esta parte:

Citar
//Check if the securidy code and the session value are not blank
//and if the input text matches the stored text
if ( ($_REQUEST["txtCaptcha"] == $_SESSION["security_code"]) &&
    (!empty($_REQUEST["txtCaptcha"]) && !empty($_SESSION["security_code"])) ) {
  echo "<h1>Test successful!</h1>";
} else {
  echo "<h1>Test failed! Try again!</h1>";
}
2  Programación / PHP / Duda con sistema de descargas en: 1 Diciembre 2006, 18:37 pm
Hola a todos,  recurro a ustedes por que estoy teniendo alguna clase de problemas con un script que estoy haciendo en PHP y quisiera saber si me pueden dar una mano por favor.
Empecemos: 
Tengo una página web a la cual quisiera agregarle una sección de descargas pero la sección de descargas quisiera que fuera diferente a las muchas que hay  y aquí me explico. Quisiera que este sistema de descargas tuviera un “sistema de usuarios”… en otras palabras que el visitante pueda registrarse, que este le envié los datos al email y una copia al administrador de los datos del usuario registrado, que una vez que el usuario se haya registrado pueda logearse a la pagina para poder acceder a la
sección de descargas… Ya tengo todo hecho, ya hice el sistema de usuarios y todo pero lo que me esta fallando es la seguridad, ¿a que me refiero? Pues supongamos que el script esta en esta carpeta llamada: sistemadescargas y que dentro de esta carpeta tenga otra llamada: archivos la cual contendrá todos mis archivos a descargar, el problema es que jugando por ahí con el script me di cuenta que podía acceder a la carpeta llamada: archivos,  sin ningún problema, no necesitaba logearme a la pagina ni nada y quisiera saber como podría proteger esta carpeta para que solo se tenga acceso a todos los archivos de aquí una vez que el usuario este logeado. Tambien tengo una sección de “admin panel” para poder administrar mis usuarios,  agregar usuario, borrar usuario etc.  Les dejo saber que no uso una base de datos puesto que todo lo he hecho basado en archivos .DAT que es ahí donde se almacenan los usuarios, a la sección admin solo se accede siempre y cuando se tenga la contraseña del admin ya que si no tiene no se accede ni aun poniendo solamente la URL completa a la sección admin, esto va bien lo único que no va bien es lo que les dije anteriormente.

De ante mano muchas gracias.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines