Login obligatoire : https, ssl

Messagepar cynic- » Mar 22 Juil 2008, 12:51

Bonjour

Je travaille sur un site de style "ventes privées". Pour cela le (futur) client doit se logger dès l'accueil. Je me suis donc servi de cette contribution : http://www.oscommerce.com/community/contributions,3399
Et je l'ai un peu adaptée.

Etape 1 : rendez-vous sur phpMyAdmin et lancez cette commande sql :
Code: Tout sélectionner
INSERT INTO `osc_configuration` VALUES (2007, 'Login client obligatoire', 'USE_LOGIN_CLIENT_OBLIGATOIRE', 'true', 'Oblige le client à être inscrit pour accéder au site. Seules ces pages sont autorisées : create_account.php et password_forgotten.php', 15, 15, '2007-01-29 20:10:41', '0000-00-00 00:00:00', NULL, 'tep_cfg_select_option(array(''true'', ''false''),');

Etape 2 : ouvrez catalog/includes/application_top.php et ajoutez ceci à la fin :

Code: Tout sélectionner
// Login obligatoire - http://www.oscommerce.com/community/contributions,3399
if(USE_LOGIN_CLIENT_OBLIGATOIRE == 'true') {

//-------
if ( (!tep_session_is_registered('customer_id'))  && (!strstr($_SERVER['PHP_SELF'],'login.php')) )
{
if ( (!strstr($_SERVER['PHP_SELF'],'create_account.php')) && (!strstr($_SERVER['PHP_SELF'],'password_forgotten.php')))
{
$navigation->set_snapshot();
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}
}
//-------
 
 }

// END - Login obligatoire

Etape 3 : rendez-vous dans l'admin > Configuration > Sessions et placez l'option "Login client obligatoire" sur True ou False.

Attention, le login se faisant en https:// vous devrez avoir SSL installé sur votre serveur pour que cela fonctionne.
Si vous travaillez en local ceci peut vous être utile pour installer SSL sur votre serveur Apache2 :
http://forums.apachefrance.com/viewtopic.php?t=1478

En espérant que tout cela vous soit autant utile qu'à moi :)
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar cymbeline » Mar 22 Juil 2008, 19:50

Merci beaucoup pour cette contribution, génial.
cymbeline
Membre très actif
 
Messages: 265
Inscription: Mer 06 Sep 2006, 20:01
Localisation: Nevers

Messagepar cynic- » Ven 08 Aoû 2008, 13:50

A noter qu'on peut bien sûr, dans application_top.php, ajouter des pages comme " contact_us.php " Exemple :
Code: Tout sélectionner
// Login obligatoire - http://www.oscommerce.com/community/contributions,3399
if(USE_LOGIN_CLIENT_OBLIGATOIRE == 'true') {

//-------
if ( (!tep_session_is_registered('customer_id'))  && (!strstr($_SERVER['PHP_SELF'],'login.php')) )
{
if ( (!strstr($_SERVER['PHP_SELF'],'create_account.php')) && (!strstr($_SERVER['PHP_SELF'],'password_forgotten.php')) && (!strstr($_SERVER['PHP_SELF'],'contact_us.php')))
{
$navigation->set_snapshot();
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}
}
//-------
 
 }

// END - Login obligatoire
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar cynic- » Mar 23 Sep 2008, 14:02

Edit : Si on n'a pas SSL, on peut aussi modifier application_top.php comme ceci :
Code: Tout sélectionner
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'NONSSL'));
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04


Retourner vers Plugin

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron