Votre question

Amélioration d'un script

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
27 Août 2008 17:12:28

J'aurais besoin d'aide pour l'amélioration d'un script au niveau de la sécurité ou si vous voyez d'autres choses dite le moi^^.
Et si vous avez le temps m'aider a faire une vérification par mail avant de changer le mot de passe de la personne en utilisant un lien dans le mail pour activer la modification.
je vous donne mon msn si vous voulez m'aider par msn: villersm@hotmail.com
Je vous met aussi le script en Quote
Citation :
<html>
<head>
<title>Site.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
$login = "root";
$dbpass = "pass";
$db = "login";
$host = "localhost";
$nb_faux = 0;
@mysql_connect($host, $login, $dbpass) or die("<b><font color='red'>Connexion au serveur impossible.<br/>Contactez le webmaster si le problème n'est pas résolu.<br/></font></b>");
if (isset($_POST['Email']) AND isset($_POST['Login']))
{
$emailmember = ($_POST['Email']);
$loginmember = ($_POST['Login']);

}
if (empty($_POST['Email']) || empty($_POST['Login']))
{
$error = $error."<font color='red'><b><br/>Champs non remplis</b><br/></font>";
$nb_faux++;
}
// incrementer la variable $nb_faux si des caracteres ne sont pas autorisés pour le pseudo
$atom = '`^(\W{3,15})$`'; // caractères autorisés (entre crochets)
// on autorise a à z, A à Z, 0 à 9 et +-*_~°†éèàùç et une taille min/max 4/16 caractères
if (preg_match($atom, $emailmember))
{
$error = $error."<font color='red'><b><br/>Caractères non autorisés pour l'email</b><br/></font>";
$nb_faux++;
}

if (preg_match($atom, $loginmember))
{
$error = $error."<font color='red'><b><br/>Caractères non autorisés pour le pseudo</b><br/></font>";
$nb_faux++;
}

// incrementer la variable $nb_faux si le Logon et le mail existe dans la base de donnée
if ($nb_faux >= 0)
{
@mysql_select_db($db) or die("<b><font color='red'>Sélection de la base de donnée echouée. <br/>Contactez le webmaster si le problème n'est pas résolu.<br/></font></b>");
$requete = "SELECT * FROM `login` WHERE userid='$loginmember' AND email='$emailmember'";
$resultat = mysql_query($requete) or die("<b><font color='red'>Exécution de la requête t1 impossible.<br/>Contactez le webmaster si le problème n'est pas résolu.<br/></font></b>");
$ligne = mysql_num_rows($resultat);
//
//
if ($ligne == 0)
{
$error = $error."<font color='red'><b><br/>Ce coumple de Login et de Mails existe pas</b><br/></font>";
$nb_faux++;
}
}

?>
<br>
erreur<?php echo $error ?><br>
ligne<?php echo $ligne ?><br>
resulta<?php echo $resultat ?><br>
requette<?php echo $requete ?>
requette<?php echo $requete2 ?>

<form action="teste4.php" method="post">
<table width="200" border="1" align="center">
<tr>
<td width="89"><div align="right">EMAIL</div></td>
<td width="95"><input name="Email" type="text" size="22" maxlength="44"></td>
</tr>
<tr>
<td><div align="right">LOGIN</div></td>
<td><input name="Login" type="text" size="15" maxlength="22"></td>
</tr>
<tr>
<td colspan="2">
<p><input type="submit" value="Valider" /></p>
</td>
</tr>
</table>
</form>

</body>
</html>
<?php
$pointemail = strpos($emailmember,".");
$arobaemail = strpos($emailmember,"@");
$error = "";
$emailadmin = "villersm@hotmail.com";

settype($template, "string");
$template = "0123456789abcdefghijkmnopqrstuvwxyz";
function GetRandomString($length) {

global $template;

settype($length, "integer");
settype($rndstring, "string");
settype($a, "integer");
settype($b, "integer");

for ($a = 0; $a <= $length; $a++) {
$b = rand(0, strlen($template) - 1);
$rndstring .= $template[$b];
}

return $rndstring;

}

$passwd1 = GetRandomString(6);
$passwd2= md5($passwd1);



mysql_connect('localhost','root','pass') OR die;

mysql_select_db('login') OR die(mysql_error());


$requete = mysql_query('SELECT * FROM `login` WHERE userid = "'.$loginmember.'" AND email="'.$emailmember.'"') OR die(mysql_error());
$requete2 = mysql_query('UPDATE `login` SET `user_pass` = "'.$passwd2.'" WHERE userid = "'.$loginmember.'" AND email="'.$emailmember.'"') OR die(mysql_error());

if(mysql_num_rows($requete)== 1)
{
$result=mysql_fetch_array($requete);
$passmember = $result['user_pass'];
$subjectmember = "Les Informations de votre compte";
$textmember = "Bonjour,

Voici les information de votre compte :
Email : $emailmember
Login : $loginmember
pass : $passwd1
pass-sql : $passwd2

Keep your informations secret to avoid account theft, because then you won't be abble to access Site.com !

Have a wonderfull day ! ;) 

Site.com support team.";

@mail("$emailmember", $subjectmember, $textmember, "FROM: $emailadmin");

}

?>

Autres pages sur : amelioration script

27 Août 2008 18:57:30

pour pas avoir de probleme de sécurité, ne pas coder.
27 Août 2008 19:00:33

Hum t maran xD
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS