Voila le code en question , c'est ce qui est appeller lorsque je me log sur ma page html.
Ca ne fait rien , ca plante completement sur la page.
// verify that the form has been correctly sent
isset($HTTP_POST_VARS) or die("The table HTTP_POST_VARS is not defined" );
isset($_POST['UserName']) or die("UserName is not defined" );
isset($_POST['Password']) or die("Password is not defined" );
$UserName = $_POST['UserName'];
$Password = $_POST['Password'];
// we receive and hexadecimal string for password but the password is encoded as a ascii string
$passVal="";
for($i=0;$i<strlen($Password);$i=$i+2)
{
$passTmp = $passVal;
$strTmp = substr($Password,$i,2);
$passVal = $passTmp.chr(hexdec($strTmp));
}
// connection to the DSN EPSS DB
$DBlink = odbc_connect('EPSS','','')or die("Connect Error: ".odbc_error($DBlink));
// Verify the trial key version
$SQLquery = "SELECT TOP 1 * FROM Registre WHERE Cle='ServerState';";
$result = odbc_exec($DBlink,$SQLquery) or die("SQL query error: ".odbc_error($DBlink));
if(odbc_fetch_row($result))
{
$valServState = odbc_result($result, 'Valeur');
odbc_free_result($result);
// retrieve the flags from DB
$DownloadDone = substr($valServState,0,1);
$ServeurStarted = substr($valServState,1,1);
$PromoEnabled = substr($valServState,2,1);
// if server started and database initialized
if(($ServeurStarted == "1" ) && (($DownloadDone == "1" )))
{
// select the first occurrence you find
$SQLquery = "SELECT TOP 1 * FROM User WHERE UserName='".$UserName."' AND Password='".$passVal."';";
$result = odbc_exec($DBlink,$SQLquery) or die("SQL query error: ".odbc_error($DBlink));
$MoinsQue10 = "-";
// the function cannot be used because it always returns -1 with this driver
//if(odbc_num_rows($result) > 0)
// if user found and password correct, set permissions
if(odbc_fetch_row($result))
{
$permi = odbc_result($result, 'Permission');
$userID = odbc_result($result, 'UserID');
if($PromoEnabled == "0" )
{
$permi = -1;
} // promotion is enable, verify if we are in the case <10 days
else
{
$SQLquery = "SELECT * FROM Registre WHERE Cle='MoinsQue10'";
$result = odbc_exec($DBlink,$SQLquery) or die("SQL query error: ".odbc_error($DBlink));
if(odbc_fetch_row($result))
{
$MoinsQue10 = trim(odbc_result($result, 'Valeur'));
}
}
odbc_close($DBlink);
ob_start();
// doesn't work, bug known in php 2004_10_28
/* setcookie("Permission","$permi",time()+14400,"/" );
setcookie("UserID","$val",time()+14400,"/" ); // time()+(60*60*24)*/
session_start();
$_SESSION["UserID"] = $userID;
$_SESSION["Permission"] = $permi;
$_SESSION["UserName"] = $UserName;
echo '<SCRIPT language=javascript>';
echo 'parent.location.href = "FrameMain.php";';
if($PromoEnabled == "0" )
{
echo 'alert("Warning: Trial period has expired. In order to schedule promotions, \r\nyou must register this software. See your EPSS Server administrator." );';
}
else
{ // promotion is enabled, are we in the case less thant 10 days?
if($MoinsQue10 != "-" )
{
echo 'alert("Trial period will expire in '.$MoinsQue10.' days." );';
}
}
echo '</SCRIPT>';
ob_end_flush();
exit();
} // end sql query select username and password
else
{
odbc_close($DBlink);
ob_start();
echo '<SCRIPT language=javascript>';
echo 'alert("Invalid password or user name" );';
echo 'parent.location.href = "default.htm";';
echo '</SCRIPT>';
ob_end_flush();
exit();
}
} // end if(($ServeurStarted == "1" ) && (($DownloadDone == "1" )))
else
{
odbc_close($DBlink);
ob_start();
echo '<SCRIPT language=javascript>';
if($ServeurStarted == "0" )
{
echo 'alert("Unable to connect to server." );';
}
else
{
echo 'alert("EPSS Server not initialized. Contact your system administrator." );';
}
echo 'parent.location.href = "default.htm";';
echo '</SCRIPT>';
ob_end_flush();
exit();
}
} // end if sql query ServerState
else
{
odbc_close($DBlink);
ob_start();
echo '<SCRIPT language=javascript>';
echo 'alert("Error in Database." );';
echo 'parent.location.href = "default.htm";';
echo '</SCRIPT>';
ob_end_flush();
exit();
}
?>
Mais je pense que c'est vraiment la class cryptor qui ne fonctionne pas bien , mais sur un autre windows xp utiliser par un programmeur qui a fais tout les update ca fonctionne !