SYSTÈME DE PROTECTION DES PAGES D'UN SITE PAR MOT DE PASSE ET NOM D'UTILISATEUR

matrey Messages postés 399 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 6 septembre 2004 - 30 juin 2003 à 22:40
leoneteliott Messages postés 1 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 2 septembre 2011 - 2 sept. 2011 à 20:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13370-systeme-de-protection-des-pages-d-un-site-par-mot-de-passe-et-nom-d-utilisateur-comptes-multiples-possible

leoneteliott Messages postés 1 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 2 septembre 2011
2 sept. 2011 à 20:03
Ce tuto est super merci
cs_nossoctoruss Messages postés 126 Date d'inscription samedi 28 novembre 2009 Statut Membre Dernière intervention 9 juin 2013
30 oct. 2010 à 12:42
c'est super dangeureux ton truc o_O,si tu crée plusieurs espaces persos differents,le mec peu se connecter sur la page d'un autre avec ses propres identifients a ce que j'ai lus!
oliv5658 Messages postés 11 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 1 octobre 2008
4 mars 2008 à 19:36
bonjour,
Pour ma part j'arrive pas a acceder a ma page protégée.
Ci joint mon message d'erreur si vous pouvez m'aider c'est cool
Merci
Forbidden
You don't have permission to access /nouvelleversion/
Notice: Undefined variable: PHP_SELF in c:/program files/easyphp1-8/nouvelleversion/protect.php on line 15
on this server.


--------------------------------------------------------------------------------

Apache/1.3.33 Server at 127.0.0.1 Port 80
thierrytmic Messages postés 1 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 23 septembre 2006
23 sept. 2006 à 15:10
J'ai rajouté une demande d'aller à l'adresse juste après
$_SESSION['ctd'] = "connected";

header("Location: http://tonsite.fr");

et ça affiche bien la page que je veux
mais j'ai mis ça seulement sur la pâge d'accueil...
à voir pour généraliser à toutes les pages...
ertyskipass Messages postés 14 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 mai 2006
12 août 2005 à 11:50
besoin de mysql
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
20 juin 2005 à 08:54
Il faudrait que tu m'envoies ton code source pour que je t'aide mieux...
Si possible par mail, ou si t'avais msn ça m'arrangerait également.
En attendant, essaye de regarder si tu n'as pas mis tous tes affichages dans une condition "IF" qui n'est jamais "VRAI".

Mon mail et MSN :
adys_one@hotmail.com
kincaid80 Messages postés 5 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 1 mai 2005
19 juin 2005 à 23:54
J'ai mis <? include 'protect.php'; ?> et j'ai modifié le code comme tu me l'as conseillé. A présent, je n'ai plus de message d'erreur, le formulaire login/mot de passe s'affiche :)

Malheureusement, nouveau soucis...quand je clique sur "ok", une page vide s'affiche au lieu d'ouvrir ma page d'accueil...
J'ai beau raffraîchir ça ne change rien, la page reste tristement vide :'(

Tu vois quel est le problème?

Merci encore :)
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
19 juin 2005 à 21:41
protect.php tu l'inclus dans un autre fichier non ? Si c'est le cas, inclus le bien avant tout code html !
----- AUCUN RETOUR CHARIOT AVANT LE "<?"
<?
include 'protect.php';
?>
<html>
<head> etc...

--- Et fais ça pour tes vérifications ---
if(!isset($_SESSION['ctd']) || $_SESSION['ctd'] != "connected") // Vérifie l'état de "ctd" (si elle existe et si elle vaut "connected")
{
if (!isset($_POST['submit']) || !$_POST['submit']) // Vérifie l'état de "submit"
{ // ci dessous, affichage du formulaire pour se connecter
?>
kincaid80 Messages postés 5 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 1 mai 2005
19 juin 2005 à 21:17
Merci pour ta rapidité :)
J'ai simplement utilisé ce script et voici le début du code du fichier "protect.php":

<?
session_start(); //debut de la session

$username[1] = "admin"; //tableau avec les user et pass
$password[1] = "1234";

$username[2] = "test";
$password[2] = "test";


if($_SESSION['ctd'] != "connected") // verifie dans la variable de session "ctd" si elle contient bien "connected"
{
if (!$_POST['submit'])
{ // ci dessous, affichage du formulaire pour se connecter
?>

Merci pour ton aide :)
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
19 juin 2005 à 13:23
ben c'est juste des variables non déclarées (inexistante).
Faudrait que tu montres ton source pour que je te dise, mais normalement, aux lignes 11 et 13, tu appelles des variables du genre $_GET['ctd'] ou $_POST['submit'].
Avant de t'en servir, vérifies qu'elles existent à l'aide de la fonction "isset($_POST['submit'])" par exemple :
if(isset($_POST['submit'])) {
// Traitement avec la variable
}

isset te retourne TRUE si la variable est définie, sinon FALSE.

N'hésite pas à demander à nouveau si tu as d'autres souci ;)
kincaid80 Messages postés 5 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 1 mai 2005
18 juin 2005 à 16:07
Voila les erreurs qui s'affichent quand je lance la page :

Notice: Undefined index: ctd in c:\documents and settings\nicol@s\mes documents\la mouche qui pop.com\protect.php on line 11

Notice: Undefined index: submit in c:\documents and settings\nicol@s\mes documents\la mouche qui pop.com\protect.php on line 13


Pouvez-vous m'aider, je dois présenter mon site le 21 juin...

Merciiiii
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
14 mai 2005 à 14:51
"Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/f/3/geonuix/zoneadmin/index.php:6) in /var/www/free.fr/f/3/geonuix/zoneadmin/protect.php on line 2"

Et apparemment tu n'as pas intégré le fichier protect.php au tout début de ton fichier. Il faut le mettre avant TOUT CODE HTML.
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
14 mai 2005 à 14:44
Sur free, il faut créer un répertoire "sessions" à la racine du site. C'est chiant, mais c'est comme ça ;)
ccedced Messages postés 1 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 11 janvier 2005
11 janv. 2005 à 23:32
ouais c nul non je deconne...
la_pin Messages postés 275 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 15 décembre 2005
1 janv. 2005 à 18:57
oui, poua a bien raison, c bizzare, jarrive pas a comprendre pourquoi il faut recharger la page pour qu'elle s'affiche, pour régler le probleme, jai utilisé un petit javascript pour recharger la page...
cs_poua Messages postés 4 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 20 juillet 2003
20 juil. 2003 à 07:46
pourquoi la page protégée ne s'ouvre pas automatiquement après bon loggin et mot de passe; il faudrait d'abords actualiser pour que ça donne! as-tu une idée dece qu'il faut faire? sinon c'est très bien ton truc pour un débutant comme moi!
paradoxreal8 Messages postés 13 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 7 mars 2003
3 juil. 2003 à 20:40
J'aimerais savoir comment un vérifie dans protect.php si le username et le password se trouve dans la base de donnée veux-tu m'aider STP?
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
1 juil. 2003 à 00:23
vu vu vu et re vu ... c clair ça a sa place ici, ça l'est déjà telement ... 1 de + 1 de moins ...
matrey Messages postés 399 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 6 septembre 2004
30 juin 2003 à 22:40
bon... je vais dire "pourquoi pas"...
disons que si on cherche un truc plus poussé avec mysql, c'est une zone membre donc...
Rejoignez-nous