Feature: Gestion du cryptcode

This commit is contained in:
Laurent Destailleur 2007-09-11 17:15:44 +00:00
parent 63a99faa55
commit 8c5eacc3c7
6 changed files with 33 additions and 5 deletions

View File

@ -252,6 +252,7 @@ $_SESSION['cryptcptuse']++;
// Envoi de l'image finale au navigateur
header('Cache-Control: Public, must-revalidate');
switch (strtoupper($cryptformat)) {
case "JPG" :
case "JPEG" : if (imagetypes() & IMG_JPG) {

View File

@ -17,5 +17,6 @@ session_name($_GET['sn']);
session_start();
error_reporting(E_ALL ^ E_NOTICE);
SetCookie("cryptcookietest", "1");
header('Cache-Control: Public, must-revalidate');
Header("Location: cryptographp.inc.php?cfg=".$_GET['cfg']."&sn=".session_name()."&".SID);
?>

View File

@ -14,6 +14,7 @@ ErrorFailedToRunExternalCommand=Failed to run external command. Check it is avai
ErrorFailedToChangePassword=Failed to change password
ErrorLoginDoesNotExists=User with login <b>%s</b> could not be found.
ErrorLoginHasNoEmail=This user has no email address. Process aborted.
SecurityCode=Security code
Calendar=Calendar
AddTrip=Add trip
Tools=Tools

View File

@ -14,6 +14,7 @@ ErrorFailedToRunExternalCommand=Echec de l'ex
ErrorFailedToChangePassword=Echec de modification du mot de passe
ErrorLoginDoesNotExists=Le compte utilisateur de login <b>%s</b> n'a pu être trouvé.
ErrorLoginHasNoEmail=Cet utilisateur n'a pas d'email. Impossible de continuer.
SecurityCode=Code sécurité
Calendar=Calendrier
AddTrip=Créer déplacement
Tools=Outils

View File

@ -1274,6 +1274,8 @@ function dol_loginfunction($notused,$pearstatus)
// Si feuille de style en php existe
if (file_exists(DOL_DOCUMENT_ROOT.'/'.$conf->css.".php")) $conf->css.=".php";
header('Cache-Control: Public, must-revalidate');
// Ce DTD est KO car inhibe document.body.scrollTop
//print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
// Ce DTD est OK

View File

@ -203,7 +203,7 @@ if (! session_id() || ! isset($_SESSION["dol_login"]))
{
// Echec authentification
dolibarr_syslog("Authentification ko (en mode Pear Base Dolibarr) pour '".$_POST["username"]."'");
sleep(2);
sleep(1);
}
else
{
@ -257,6 +257,7 @@ if (! session_id() || ! isset($_SESSION["dol_login"]))
{
// Echec authentification
dolibarr_syslog("Authentification ko (en mode Pear Base Dolibarr_mdb2) pour '".$_POST["username"]."'");
sleep(1);
}
else
{
@ -343,7 +344,28 @@ if (! session_id() || ! isset($_SESSION["dol_login"]))
}
}
// Verification du code
if ($conf->global->MAIN_SECURITY_ENABLECAPTCHA)
{
include_once(DOL_DOCUMENT_ROOT.'/includes/cryptographp/cryptographp.fct.php');
//print "Info session: ".session_name().session_id();print_r($_SESSION);
if (! chk_crypt($_POST['code']))
{
session_destroy();
dolibarr_syslog('Bad value for code, connexion refused');
// On repart sur page accueil
session_name($sessionname);
session_start();
$langs->load('main');
$_SESSION["loginmesg"]=$langs->trans("ErrorBadValueForCode");
header('Location: '.DOL_URL_ROOT.'/index.php');
exit;
}
}
// Charge l'objet user depuis son login ou son SID
$result=0;
if ($conf->ldap->enabled && $conf->global->LDAP_SYNCHRO_ACTIVE == 'ldap2dolibarr')
{
require_once(DOL_DOCUMENT_ROOT."/lib/ldap.class.php");
@ -413,7 +435,7 @@ if (! session_id() || ! isset($_SESSION["dol_login"]))
{
$result=$user->fetch($login);
}
if ($result <= 0)
{
session_destroy();
@ -431,11 +453,11 @@ if (! session_id() || ! isset($_SESSION["dol_login"]))
else
{
// On est déjà en session qui a sauvegardé login
// Remarks: On ne sauvegarde pas objet user car pose pb dans certains cas mal idnetifiés
// Remarks: On ne sauvegarde pas objet user car pose pb dans certains cas mal identifiés
$login=$_SESSION["dol_login"];
dolibarr_syslog("This is an already user logged session. _SESSION['dol_login']=".$login);
dolibarr_syslog("This is an already user logged session. _SESSION['dol_login']=".$login);
$user->fetch($login);
$login=$user->login;
$login=$user->login;
}
// Est-ce une nouvelle session