[Aporte] Sistema de RecuPASS en PHP/MySQL

Estado
Cerrado para nuevas respuestas.

MaxTus

Maty Rlz
Hola a toda la comunidad :p

Hace mucho que no me pasaba por el foro, y revisando en mi PenDrive encontré este código que seguramente a más de uno les va a servir para sus respectivos servidores :)

El objetivo de mencionado sistema es la de enviar la contraseña de 'x' usuario a través de la función 'mail' de PHP.

Obviamente que el código puede optimizarse (Mediante consultas relacionadas) y agregar alguna seguridad (Como un captcha); sin embargo, sirve como base ^^

Empecemos!

recupass.php

PHP:
<?php
[url=http://www.php.net/include]include[/url] 'dbcon.php';
 
//Nombre del pj
$nombrepj = $_POST['name'];
 
//Verificamos que exista el usuario y obtenemos el Index y la contraseña
$resultado = [url=http://www.php.net/mysql_query]mysql_query[/url]("SELECT IndexPJ, Password FROM charflags WHERE Nombre ='".$nombrepj."'") or die ([url=http://www.php.net/mysql_error]mysql_error[/url]());
  
[url=http://www.php.net/if]if[/url] ([url=http://www.php.net/mysql_num_rows]mysql_num_rows[/url]($resultado) > 0) {
    $Datos = [url=http://www.php.net/mysql_fetch_array]mysql_fetch_array[/url]($resultado);
    
    //obtenemos el email
    $consulta2 = [url=http://www.php.net/mysql_query]mysql_query[/url]("SELECT Email FROM charinit WHERE indexPJ=".$Datos[0]) or die ([url=http://www.php.net/mysql_error]mysql_error[/url]());
    $email = [url=http://www.php.net/mysql_fetch_row]mysql_fetch_row[/url]($consulta2);
    
    //Enviamos el correo con la password
    [url=http://www.php.net/mail]mail[/url]($email[0],"Recuperación de Contraseña", "La contraseña del personaje ".$nombrepj." es: ".$Datos[1],"FROM: [[email protected]][email protected][/email]<span style="color: #a0a099; font-weight: bold;">\nX-Mailer: PHP"</span>);
    
    [url=http://www.php.net/echo]echo[/url] "Se ha enviado un correo al email del personaje.";
    
    }[url=http://www.php.net/else]else[/url]{
    [url=http://www.php.net/echo]echo[/url] "El personaje " .$nombrepj. " no existe.";
}
?>
config.php

PHP:
<?php
//Conexión a la DB
$dbhost="localhost"; //Host del mysql
$dbuser=""; //Usuario del mysql
$dbpass=""; //Password del mysql
$db=""; //db
?>
index.php

PHP:
<form enctype="multipart/form-data" action="recupass.php" method="post">
         
  <p align="left"> </p>
           <fieldset>
           <p align="left">
             <label>Nombre
               <input type="text" name="name" />
             </label>
           </p>
           <p align="left">             <br>
             <input name="submit" type="submit" value="Recuperar Password" />
           </p>
           </p>
  </fieldset>
           </form>
dbcon.php

PHP:
<?php
[url=http://www.php.net/include]include[/url] "Config.php";
 
$conexion = [url=http://www.php.net/mysql_connect]mysql_connect[/url]("$dbhost", "$dbuser", "$dbpass");
[url=http://www.php.net/if]if[/url] (!$conexion) {
    die('No pudo conectarse: ' . [url=http://www.php.net/mysql_error]mysql_error[/url]());
}
$db_selected = [url=http://www.php.net/mysql_select_db]mysql_select_db[/url]($db, $conexion);
[url=http://www.php.net/if]if[/url] (!$db_selected) {
    die ('Can<span style="color: #a0a099; font-weight: bold;">\'t use foo : '</span> . [url=http://www.php.net/mysql_error]mysql_error[/url]());
}
?>
 

Fabii

Ex Delincuente
Claro pero no te faltaria programar el formulario recuperar contraseña para que te funcione.. o se hace automaticamente?
 

Werbick

Templario
Falta la parte del vb pero no es tan dificil, ya nos dejaste una gran base de la parte que yo creo que es dificil. Aunque no lo lei por que no entiendo nada de php jaja, supongo que esta bien...


gracias capo, despues a lo mejor lo pruebo ;)
 

MaxTus

Maty Rlz
Fabii dijo:
Claro pero no te faltaria programar el formulario recuperar contraseña para que te funcione.. o se hace automaticamente?
Werbick dijo:
[color=#408040Falta la parte del vb pero no es tan dificil, ya nos dejaste una gran base de la parte que yo creo que es dificil. Aunque no lo lei por que no entiendo nada de php jaja, supongo que esta bien...[/color]
Nono... no necesita ninguna "parte" programada en VB6, ya que el formulario se encuentra en el index.
 

Shab

Aprendiz Lvl 2
Cero seguridad igual el code jaja es re pasable te hacen una inyeccion sql sin mucho esfuerzo :p

Para el que quiera hacer esto directamente se lee tutos y en un toque lo haces mucho mejor y mas seguro jaja

Ademas de que no sirve mucho ya que si no saben hacerse una base de datos... vos estas mandando querys con campos de tu base de datos, cosa que un principiante no va a entender

En todo caso hacelo mas completo jaja

EDIT:
me olvide que fenix viene con base de datos sql JAJAJA

olvidate de lo que dije, pasa que como no programo ao :p
 

Trymex

&lt;ArchangelAO 3.0&gt;
uhhh re piola esto... Lastima qe yo uso charfiles -.-, esto siempre lo quise yo jajaaj

Lindo aporte
 

DarkTester

<FlamiusAO Staff>
Trymex dijo:
uhhh re piola esto... Lastima qe yo uso charfiles -.-, esto siempre lo quise yo jajaaj

Lindo aporte

Pero esto no es programación en VB, es programación web. Es decir, esto lo podes utilizar para un recuperar password vía web.


Saludos.-
 

Trymex

&lt;ArchangelAO 3.0&gt;
si flashie mal....

Yo se algo de programacion web... pero es muy poco.

aver... em ago esta preg...

Para usar esto hay que tener un servidor con base de datos? o se puede tamb con charfiles?

xq para mi con base de datos es mas facil.... peor con charfiles ni me imagino como seria
 

Midraks

Creador de AOWeb
Ex-Staff
Muy bueno, la verdad que no entiendo mucho que Php ni MySql, pero seguramente mas adelante si me meto en esta area me sirva ^^
Trymex dijo:
si flashie mal....

Yo se algo de programacion web... pero es muy poco.

aver... em ago esta preg...

Para usar esto hay que tener un servidor con base de datos? o se puede tamb con charfiles?

xq para mi con base de datos es mas facil.... peor con charfiles ni me imagino como seria
Hay que tener un servidor con base de datos, ya que de ahí saca la información.
 

SbZ

www.blosamao.com.ar
Excelente che, me gusta mucho... Lastima que ahora todos ponen de email [email protected] y no da tanta importancia, pero es una forma de justificar.

No seria mejor juntar el config con el dbcon? Que los valores esten juntos... Por lo menos yo lo tengo asi.
 

[K]alamar

Proyectando Ideas
Contu dijo:
Excelente che, me gusta mucho... Lastima que ahora todos ponen de email [email protected] y no da tanta importancia, pero es una forma de justificar.

No seria mejor juntar el config con el dbcon? Que los valores esten juntos... Por lo menos yo lo tengo asi.
Para eso esta el sistema de verificar si el E-mail ya esta en uso :p...

Esta muy bueno Mati, yo quiero hacer el sistema en ASP pero en la 13.0...

Gracias por el Aporte, esta muy bueno.


Saludos.
 

Ronthor

Aprendiz Lvl 2
Es bastante hackeable, deberias usar funciones que tiene php junto con mysql, si no te hacen un desastre...
 

JuanMAPCh

Horacio, embajador 2013.
Ronthor dijo:
Es bastante hackeable, deberias usar funciones que tiene php junto con mysql, si no te hacen un desastre...
Como el que yo hice con Fúrius borrandole los personajes no?

Parecido a eso. :S
 

LmB

Dragón Ancestral Lvl 1
Jajaja are que este juanma se hacía el malo JAJAJAJAJA

lo que hay que leer hoy en día.. :/
 

JuanMAPCh

Horacio, embajador 2013.
LmB dijo:
Jajaja are que este juanma se hacía el malo JAJAJAJAJA

lo que hay que leer hoy en día.. :/
¿Juanma se hace el malo? ¿Que te picó a vos?

Preguntá que pasó con Fúrius cuando encontré ese bug.
 

MaxTus

Maty Rlz
En el primer post especifiqué que era una BASE y que le faltaba seguridad. El código es funcional, queda en ustedes en agregar seguridad.

Con el tema de la Inyección SQL, la mayoría de los WebHosts pagos ya vienen con una protección contra estos ataques, mediante el remplazo de las comillas.

@Juanma: ¿Por que no lo reportaste al Bug? Creo que eso ya pasa por como es uno como persona, ya que tranquilamente podías haber avisado a los AMD´s de la web para que lo solucionen :S
 

JuanMAPCh

Horacio, embajador 2013.
MaxTus dijo:
@Juanma: ¿Por que no lo reportaste al Bug? Creo que eso ya pasa por como es uno como persona, ya que tranquilamente podías haber avisado a los AMD´s de la web para que lo solucionen :S
Para el pete de Naahue:


Porque este servidor habla mal de mí, y se creen que por ser Fúrius son más que los demás, y están totalmente equivocados, pero como a mí no me va ni me viene lo que piensen, despues de haberle hecho esa maldad, le liberé la lista de usuarios que había borrado, para que los recuperen. (ENTRE ESO, TODOS LOS GMS, CONCILIOS Y CONSEJOS, y algunos más que no me cabían jaja)

En cuanto al código, te felicito.
 
Estado
Cerrado para nuevas respuestas.
Arriba