Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 538 fois - Téléchargée 19 fois
dans la page d'authentification : <? $taille = rand(4, 8); $c1 = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z', 'dd', 'ff', 'll', 'mm', 'nn', 'pp', 'rr', 'ss', 'tt'); $c2 = array('a', 'a', 'a', 'e', 'e', 'e', 'i', 'i', 'o', 'o', 'u', 'u', 'y'); $code=""; //generation du code for ($i=1;$i<$taille;$i++) $code .= ($i%2==0)?$c1[rand(0, count($c1)-1)]:$c2[rand(0, count($c2)-1)]; //on peut encore ajouter un nombre, pour augmenter les possibilités $code .= "" . rand(0, 99); $ip=$_SERVER["REMOTE_ADDR"]; $code= MD5($code); $SQL_nouveau = <<<FDT INSERT INTO `log` ( `clef` , `valide` , `ip`) VALUES ( '$code','', '$ip'); FDT; $result=mysql_query($SQL_nouveau); ?> <script language=javascript> window.open(theURL+"?code=<?echo$code;?>",'popup', 'toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0,fullscreen=0,width='+screen.width+', height='+screen.height); ?> --------------------- dans la page popup.php $SQL_02 = <<< FDT SELECT count(valide) FROM log where clef='$code' and ip='$mon_ip' and valide="0000-00-00 00:00:00"; FDT; if($result=mysql_query($SQL_02)){ while($ligne=mysql_fetch_row($result)){ $nbr= $ligne[0]; } } $connect="0"; if($nbr=="1") { $connect="1"; $modif_reponse = mysql_query("UPDATE `log` SET `valide` = NOW() WHERE clef ='$code'") or die("database connexion error1"); } else { $connect="0"; die("connexion refusée"); }
9 oct. 2007 à 20:51
je vais etre bref;
la page authentification.php (verification du login et mdp):
<?php (ou <?, je vois pas la différence)
function password_encode($filter, $str)
{
$filter = md5($filter);
$letter = -1;
$newpass = '';
$strlen = strlen($str);
for ( $i = 0; $i < $strlen; $i++ )
{
$letter++;
if ( $letter > 31 )
{
$letter = 0;
}
$neword = ord($str{$i}) + ord($filter{$letter});
if ( $neword > 255 )
{
$neword -= 256;
}
$newstr .= chr($neword);
}
return base64_encode($newstr);
}
$username = $_POST['username'];
$password = $_POST['password'];
$filtre= "toto";
$log_enc=password_encode($filtre, $username);
$mdp_enc=password_encode($filtre, $password);
?>
<SCRIPT language="JavaScript1.1">
larg = screen.width;
haut = screen.height;
fen = window.open("popup.php?code1=<?echo$log_enc;?>&code2=<?echo$mdp_enc;?>",'page',
'toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0,fullscreen=0,width='+screen.width+', height='+screen.height);
</SCRIPT>
page popup.php
<title></title>
<?
$log_enc=$_GET['code1'];
$mdp_enc=$_GET['code2'];
?>
<FRAMESET COLS="125,*" FRAMEBORDER="no" BORDER="0" FRAMESPACING="0">
<FRAME SRC="menu.html" name="gauche" scrolling=no>
<FRAME SRC="accueil.php?code1=<?echo$log_enc;?>&code2=<?echo$mdp_enc;?>" name=corps>
</FRAMESET>
</FRAMESET>
accueil.php:
<?php
session_start();
$log_enc= $_GET['code1'];
$mdp_enc= $_GET['code2'];
$_SESSION['login']=$log_enc;
$_SESSION['mdp']=$mdp_enc;
?>
<script language=javascript>
window.location.replace("page1.php");
</script>
là j'ai réussi a mettre en session le login et le mot de passe, en crypté
je vous laisse deviner la suite ;)
merci a MERKHALED pour les fonctions de cryptage/décryptage ca été très utile
9 oct. 2007 à 20:38
Bon...on arrête les commentaires n'ayant aucun rapport avec ce code.
PHPAJAX, t'en es où de tes déboires avec les sessions ?
9 oct. 2007 à 20:32
(il parait que nix n'aime pas que les admins suppriment trop de codes (il parait) )
9 oct. 2007 à 14:40
Non ce n'est pas nouveau, ça a tjrs été ainsi.
Oui il y a un anti-flood.
9 oct. 2007 à 14:01
c'est nouveau ca nan ?
Sinon (j'ai pas testé pour pas polluer) mais est-ce qu'il y a un laps de temps entre deux posts de commentaires ? car ca risque de vite flooder nos boites non ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.