Jump to content

Site marchand privé avec accès limité ?


djrom

Recommended Posts

Bonjour,


Alors voilà, je dois créer un site marchand avec un accès limité aux utilisateurs enregistrés et connus de l'administrateur. Donc la page d'accueil avec login direct, sinon accès impossible au site.

Est-ce possible avec Prestashop ?


Merci d'avance pour vos réponses... je reste dans le coin ! A+ tard

Link to comment
Share on other sites

  • 3 weeks later...

Ci-dessous ma solution pas très élaborée mais fonctionnelle.

Elle consiste à créer un formulaire à lancer au démarrage du site, sauvegarder l’état de connexion dans un cookie et vérifier cet état dans l’init des pages.
Cette solution n’est pas très sécurisé ni très modulable mais elle a le mérite de fonctionner pour l’instant. Il y a également la possibilité d’utiliser le module d’identification rapide au compte et la class.cookie PS mais j’ai plus de mal gérer cette procédure.

Dans la table _configuration, il faut sauvegarder :

- le statut de la boutique : PS_PRIV = « reserve »
- le mot de passe : PS_PRIV_PWD = « motdepasse »
Il faut ajouter 2 lignes, déclarer les variables suivantes : PS_PRIV et PS_PRIV_PWD et renseigner les valeurs indiquées ci-dessus.

Ensuite, il faut créer une page reserve.php à la racine du site avec le formulaire suivant :

<form action="verifier.php" method="post">
<input type="password" name="pwd" id="pwd" value="pwd" />
<input type="submit" value="Valider" />
</form>

Ajouter la page verifier.php pour vérifier le mot de passe saisie et créer le cookie :

<?php
/*
* Script de verification
*/
include(dirname(__FILE__).'/config/config.inc.php'); // config de PS
$ctr_pwd = Configuration::get('PS_PRIV_PWD'); // récupérer le mdp sauvegardé
$pwd = Tools::getValue('pwd'); // récupérer le mdp saisie
if($pwd != $ctr_pwd) {
header("Location: index.php"); // non identifié : retourner au formulaire
} else {
setcookie("intranet", 1, time()+36000); // identifié : créer le cookie, lancer la boutique
include(dirname(__FILE__).'/header.php');
$smarty->assign('HOOK_HOME', Module::hookExec('home'));
$smarty->display(_PS_THEME_DIR_.'index.tpl');
include(dirname(__FILE__).'/footer.php');
}
?>

Modification à apporter au fichier init.php :

** après la partie de contrôle de la maintenance du site ajouter le code suivant :

/* accès privé */
// Vérification du cookie, si non identifié : retourner au formulaire, si identifié : continuer la procédure.
if (isset($_COOKIE["intranet"])){
if ($_COOKIE["intranet"] != 1){
header("Location: index.php");
}
}

Modification à apporter au fichier header.php

** après la partie de contrôle de la maintenance du site ajouter le code suivant :

/* accès privé */
// Vérification du cookie, si non identifié : retourner au formulaire, si identifié : continuer la procédure.
if ($_COOKIE["intranet"] == 1)
{
$smarty->display(_PS_THEME_DIR_.'header.tpl');
} else {
header("Location: index.php");
exit;
}

Link to comment
Share on other sites

  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...