sébastien Il y a 20 jours Répondre
Merci pour ce tuto qui m'a bien aidé pour la réalisation d'un projet
!!
Très bon travail merci encore !
Dans ce tutoriel vidéo nous verrons comment utiliser les variable de sessions, $_SESSION, pour réaliser un espace réservé en PHP. Le système permettra donc de demander l'identification des utilisateurs lors de l'accès dans une page à accès restreint. Nous apprendrons donc :
Après avoir appris sur Internet quoi de plus normal que de partager à son tour ? Passionné par le web depuis un peu plus de 5 ans maintenant j'aime partager mes compétences et mes découvertes avec les personnes qui ont cette même passion pour le web : Vous.
sébastien Il y a 20 jours Répondre
Merci pour ce tuto qui m'a bien aidé pour la réalisation d'un projet
!!
Très bon travail merci encore !
Xav Il y a 1 mois Répondre
bonjour, merci pour le tuto, en revanche, les documents téléchargeables dans cet espace ne sont pas sécurisés, on peut y acceder si on a l'URL
johnny Il y a 2 mois Répondre
"On va tout faire passer par POST pour avoir plus de sécurité"
I loled. Sérieux, tu le penses vraiment ?
curl --data "variablepost1=v;variablepost2=vv" "http://faggot.ext "
Il y a 4 mois Répondre
nice tuto
thy a lot
lolo301187 Il y a 5 mois Répondre
excellent tuto !!! Merci
Jo Il y a 6 mois Répondre
Ton application présente plusieurs failles :
* Injection SQL
* Vol de session avec le PHPSID
:)
Naenia Il y a 7 mois Répondre
Bonjour. Super tuto.
Arrêtez moi si je me trompe mais je pense qu'il manque un mysql_real_escape_string au niveau de extract($post) dans la page où l'on rentre ses identifiants.
Je dis peut-être n'importe quoi, je ne suis pas un expert mais lorsque je quote le champs "login", ça m'envoie une erreur sql si j'escape string pas.
Bien à vous.
doobleow7 Il y a 8 mois Répondre
Bonjour,
Tout d'abord félicitations pour ces tutos toujours aussi bien fait. Merci de partager. J'ai une petite question qui n'a en fait rien avoir avec le tuto lui-mme mais avec Coda et un petit détail que j'ai aperçu en regardant ce tuto. Vous taper à un moment donné "creerpage" dans Coda et Hop ! apparat une structure HTML de page. Un peu plus loin il me semble que vous faites de même avec une ligne du type "createform" ou quelque chose du genre. S'agit-il d'un pluggin Coda que je ne connaîtrais pas ? Et si oui, pourriez-vous partager ce bijou avec nous ?
Merci d'avance !!!
thibhenry Il y a 9 mois Répondre
au lieu de faire une classe, tu fais directement une fonction, c'est mieux
Et au lieu de faire :
if(isLogged() )
{
}
else
{
header('Location: login.php');
}
tu fais :
if(!isLogged() )
{
header('Location: login.php');
}
Sinon, merci bcp pour ce tuto !!!
adrienferreira Il y a 1 an Répondre
Merci encore !
SPP_/ROD Il y a 1 an Répondre
Merci ^^ ca m'a vraiment bien aidé pour mon dite !
jeff Il y a 1 an Répondre
bonjour,
je fait ton tuto,je suis sous windows7 et avec WAMPSERVER.
j'ai un message d'erreur a cette ligne:mysql_connect("localhost","root","root");
Peut_tu m'expliquer ?
Merci
<?php
session_start();
if(isset($_POST)&& !empty($_POST['login'])&&!empty($_POST['pass'])){
extract($_POST);
$pass = sha1($pass);
mysql_connect("localhost","root","");
mysql_select_db("zone membres");
$sql = "SELECT id FROM users WHERE login='$login' AND pass='$pass'";
$reg = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($req)>0){
$_SESSION['Auth'] = array(
'login' => $login,
'pass' => $pass
);
}
else{
echo "Mauvais identifiant";
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!..titre..>
<title>Login</title>
</head>
<body>
<form action="login.php" method="post">
Login : <input type="text" name="login"/><br/>
Mot de pass : <input type="password" name="pass"/><br/>
<input type="submit" value="Me connecter"/>
</form>
</body>
</html>
jeff Il y a 1 an Répondre
bonjour,
je fait ton tuto,je suis sous windows7 et avec WAMPSERVER.
j'ai un message d'erreur a cette ligne:mysql_connect("localhost","root","root");
Peut_tu m'expliquer ?
Merci
<?php
session_start();
if(isset($_POST)&& !empty($_POST['login'])&&!empty($_POST['pass'])){
extract($_POST);
$pass = sha1($pass);
mysql_connect("localhost","root","");
mysql_select_db("zone membres");
$sql = "SELECT id FROM users WHERE login='$login' AND pass='$pass'";
$reg = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($req)>0){
$_SESSION['Auth'] = array(
'login' => $login,
'pass' => $pass
);
}
else{
echo "Mauvais identifiant";
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!..titre..>
<title>Login</title>
</head>
<body>
<form action="login.php" method="post">
Login : <input type="text" name="login"/><br/>
Mot de pass : <input type="password" name="pass"/><br/>
<input type="submit" value="Me connecter"/>
</form>
</body>
</html>
Natà Il y a 1 an Répondre
Salut, j'ai suivi le tuto à la lettre et bien réussi à l'intégrer sur mon site, site que j'avais commencé il y a un moment et sans grandes connaissance...
Depuis que j'ai découvert Grafikart, j'ai décidé de le re-coder, en suivant les préconisations "standard" (bizarrement beaucoup moins d'erreurs à l'épreuve du validator :p ).
Mais seulement cette fonction ne fonctionne plus et je ne comprend pas d'où est-ce que ça vient. Les seules différences entre l'ancien site et le nouveau se situent dans l'entête.
Note: Ces 2 fichiers sont encodés en UTF-8
Ancien:
<?php
session_start();
require("auth.php");
if(Auth::isLogged()){
}
else{
header('location:login.php');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="fr" lang="fr">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="content-language" content="fr" />
<link href="style.css" title="Défaut" rel="stylesheet" type="text/css" media="screen" />
</head>
Nouveau:
<?php
session_start();
require("auth.php");
if(Auth::isLogged()){
}
else{
header('location:login.php');
}
?><!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml ">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="theme/style.css" title="Défaut" rel="stylesheet" type="text/css" media="screen" />
</head>
Apparemment ça vient du Charset/Encodage, en bidouillant ça fonctionne mais je ne comprend pas POURQUOI donc si vous auriez une explication je vous en serais grandement reconnaissant.
Aurox Il y a 1 an Répondre
Merciii
Ça faisait un petit moment que je cherchais une explication un peu plus compréhensible que celle de php.net sur la gestion des sessions
merci beaucoup à toi, super tuto !!!
Laure M Il y a 1 an Répondre
JE fais ton tutoriel en le passant en PDO. Or la requête mysql_num_rows n'existe pas en PDO. J'ai essayer plusieurs choses mais je n'ai toujours pas trouver de solution. Peut-tu m'aider ?
Exemple :
$sql = "SELECT id FROM admin";
try{
$req = $DB->query($sql);
$d = $req->fetchAll();
echo count($d);
if($d>0){
$_SESSION["Auth"] = array(
'login' => $login,
'mdp' => $mdp
);
echo ($_SESSION);
}
else{
echo 'Mauvais identifiant';
}
}
catch (PDOException $e){
echo 'La requète ne marche pas';
}
Shakuro Il y a 1 an Répondre
Hello,
Merci pour ce tuto, ce site est une véritable mine d'or, beau travaille en tout cas. Cela dit j'ai une petite question, ce tuto peut être modifié pour me permettre de faire un formulaire étalé sur plusieurs pages? voici un petit schéma:
Formulaire1 => Formulaire2 => Formulaire3 => Resumé => Envoi par la fonction mail()
Je suis un petit novice et je n'ai pas trouvé de tuto vidéo nous permettant de faire cela, celui-ci me semble être une bonne approche?
morgy Il y a 2 ans Répondre
Salut,
ça fait des heures que je suis bloqué au méme endroit:
login.php:
<?php
session_start();
if(isset($_POST) && !empty($POST['login']) && !empty($POST['pass'])){
extract($_POST);
$pass = sha1($pass)
mysql_connect("localhost","root","");
mysql_select_db('tuto');
$sql = " SELECT id FROM users WHERE login='$login' AND pass='$pass'";
$req = mysql_query($sql) or die(mysql_error());
echo mysql_num_rows($req);
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="fr" >
<head>
<title>mon site</title>
</head>
<body>
<p>page publique</p>
<form method="post" action="login.php">
Identifiant : <input type="text" name="login"/>
<br />
Votre mot de passe : <input type="password" name="pass"/>
<p>
<input type="submit" value="Connexion" />
</p>
</body>
</html>
Quand je teste ça me dit :"Parse error: parse error in C:\wamp\www\tuto\login.php on line 6"
Help me plz!
morgy Il y a 2 ans - Répondre
ahhhh non c bon..... c'était un PUT.... de point virgule, j'ai honte... :p
monkeydluffy Il y a 2 ans Répondre
Merci Grakikart :-)
Je vais surement faire ça, très utile cette petite fonction ^^
Encore un gros bravo pour les tutos demain je passe au dernier venu ^^
monkeydluffy Il y a 2 ans Répondre
Bonjour Tout le monde, encore un grand bravo pour le tuto....
J'ai bien tout suivi et modifié quelques parties et je voulais savoir comment peut-on récupérer le mot de la base données et le renvoyer en clair par email.?
Car si je recherche un mot de passe dans la BDD, il me retourne la valeur sha1
39dfa55283318d31afe5a3ff4a0e3253e2045e43 donc comment repasser en clair pour l'envoyer au client ?
Merci d'avance bonne journée
Grafikart Il y a 2 ans - Répondre
Impossible, le script ne marche que dans un sens, impossible de décoder le mot de passe. Tu dois en générer un nouveau -> L'envoyer par mail et le sauvegarder encodé dans la base de donnée
polly Il y a 2 ans Répondre
ah on voit dans ce tuto que tu es un big bang theory viewer!
Micjag Il y a 2 ans Répondre
* oups oublier de faire ma demande ^^ donc en gros ci quelqu'un peut m'indiquer un bon tuto ou mm me dire comment faire
Micjag Il y a 2 ans Répondre
Ps: très bon tuto
Micjag Il y a 2 ans Répondre
*Petite question surement bête ^^ je viens de suivre le tuto et de faire cette réalisation, ensuite j'ai fait une recherche de tuto sur google qui explique comment injecter "Sécuriser avec les Sessions" dans mon template .
Ps: mai connaissance en php sons 0.5 ^^ je mi lance
richard Il y a 2 ans Répondre
Bonjour et merci vraiment super tuto!
j'aurais une tite question quelqu'un à une idée pour ajouter dans la page privé "Bonjour $login"?
Merci
gilles Il y a 2 ans Répondre
Bonsoir
apres avoir saisi le login et le mot de passe j aimerai recuperer le nom et le role de l utilisateur comment dois je proceder j ai essayer des tas de truc et je n est pas trouvé pouvez vous m aider
merci d avance
Gilles
musicalitymaker Il y a 2 ans Répondre
Salut tout le monde,
J'ai un problème avec mon navigateur. Il affiche des message d'erreur avec la fonction sesson_start(), session_destroy() et le header();
Message d'erreur de la fonction session_destroy() : Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /xxx/xxx/xxx/xx/xxx/logout.php on line 3
[...Message raccourci pour plus de lisibilité...]
Grafikart Il y a 2 ans - Répondre
Ton erreur de session 'headers already started' indique que du contenu est affiché avant le premier appel à session_start(); vérifie que tu n'a aucun echo ni aucun espace en dehors de ton code PHP avant le session_start.
Titi Il y a 2 ans Répondre
Merci très bon tuto
orange23 Il y a 2 ans Répondre
Merci beaucoup pour ton aide, car même si l'erreur saute aux yeux, j'aurai longtemps cherché...
orange23 Il y a 2 ans Répondre
Bonjour à tous,
J'ai un petit problème, ma page privée m'affiche:
Parse error: parse error in C:\Program Files\wamp\www\session\auth.php on line 6
avec le sript suivant:
<?php
class Auth{
static function isLogged(){
if(isset($_SESSION['Auth']) $$ isset($_SESSION['Auth']['login']) $$ isset($_SESSION['Auth']['pass'])){
return true;
}
else{
return false;
}
}
}
?>
Si quelqu'un peu m'aider merci d'avance
Badbart Il y a 2 ans - Répondre
c'est pas $$ mais &&
naflo Il y a 2 ans Répondre
Merci pour ce tuto qui fonctionne très bien en local, par contre j'ai eu des problème avec des hébergement mutualisé (free, online.net) qui utilisent les cookies de session même en php5. Je n'y arrive donc pas.
Badbart Il y a 2 ans - Répondre
pour les sessions free suffit de créé un dossier sessions à la racine du ftp
jtraulle Il y a 2 ans Répondre
Super la musique en arrière plan, c'est quoi ?
stephbf Il y a 2 ans Répondre
salut super tuto et surtout grace a ce tuto je maitrise mieux les sessions. merci
Baptiste Il y a 2 ans Répondre
Salut!
j'ai un problème avec 1and1... Eb local ça marche nickel, mais la vieille version 4 de 1and1 me pose problème! Le Auth ne marche pas, il faut la version 5 minimum... Que faire?!
merci!!
++
Baptiste Il y a 2 ans - Répondre
Salut,
en fait j'ai trouvé, avec un htaccess on peut se mettre en php5
++
Corto54 Il y a 2 ans Répondre
Bonjour, je vient juste vous signaler que la video ne marche plus !
bibiphaue Il y a 2 ans Répondre
le seul souci dans ca , c'est que si une personne a les mêmes identifiants , elle peut se connecter , quelqu'un a t'il une idée pour vérifier si la personne est dejà connecté , rejeter celui qui veut prendre les mêmes identifiants.
J'avais pensé avec la fonction remote server address, c'est à dire voir si les identifiants sont identiques et avec une ip différente ?
Laurie Il y a 2 ans Répondre
Merci !
raiton Il y a 2 ans Répondre
edit: les ';' sont bon vous inquiété pas ^^
raiton Il y a 2 ans Répondre
Bonsoir,
Super tuto, si on cherche un peu à le completer il devient parfait .
Cependant j'ai un bloquage sur l'étape ou on mets une deuxiéme sécurité sql dans auth.php qui vérifie que les logins sont pas bidons, je suis sur que ma syntax est nickel, mais ca marche pas, en enlevant ce passage ca marche d'enfer :
static function isLogged(){
if(isset($_SESSION['auth']) && isset($_SESSION['auth']['login']) && isset($_SESSION['auth']['pass'])) {
extract($_SESSION['auth'])
mysql_connect("localhost", "root", "");
mysql_select_db("arsc");
$sql = " SELECT nid FROM utilisateurs WHERE slogin ='$login' AND spassword='$pass' ";
$req = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($req)>0){
return true;
}
else {
return false;
}
}
else {
return false;
}
}
fabien Il y a 2 ans Répondre
bonjour,
j'ai bien suivi le tuto, super merci à grafikart, mais j'ai un souci avec firefox : quand je me logue, il m'affiche bien la page privée mais elle est vide... toute blanche.
Voici le code :
[code]<?php
session_start();
require("auth.php");
if(Auth::isLogged()){
}
else{
header('Location:login.php');
}
?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8">
<TITLE>page privée</TITLE>
</HEAD>
<BODY>
page privée
<a href="logout.php">Se déconnecter</a>
</BODY>
</HTML>[/code]
si quelqu'un voit un truc, merci d'avance
superloulou88 Il y a 2 ans Répondre
Je viens de prendre compte prenium comment on prend la source ?
MErci
Badbart Il y a 2 ans - Répondre
Ya pas de source pour un tuto comme ca, c'est des explications, pas une création.
starbuck Il y a 2 ans Répondre
Oui je l'ai fait
C'est pour ça que je ne comprend pas le soucis
jerome Il y a 11 mois - Répondre
bonjour, j'ai exactement le même problème que toi ! tu l'as résolu ?
bizhon Il y a 2 ans Répondre
Tu dois avoir un soucis au niveau de ta base de donnée.
Tu as bien ajouté un utilisateur avant dans base de donnée??
starbuck Il y a 2 ans Répondre
Salut!
Voila, alors j'ai quasiment tout compris à ton tuto mais en fait là j'ai un petit probleme. J'en suis à cette étape:
<?php
session_start();
if(isset($_POST) && !empty($POST['login']) && !empty($_POST['password'])){
extract($_POST);
$password = sha1('$password');
mysql_connect("localhost", "root", "");
mysql_select_db("utilisateurs");
$sql = " SELECT id FROM users WHERE login='$login' AND password='$password'";
$req = mysql_query($sql) or die(mysql_error());
echo mysql_num_rows($req);
};
?>
Donc quand j'actualise la page dans le localhost, je met n'importe quoi comme identifiants mais aucun 0 ne s'affiche. Tu serai d'ou viens le probleme?
Merci d'avance pour ton aide
bizhon Il y a 2 ans Répondre
Dsl pour les 2 posts précédents puisque j'ai trouvé mon erreur ...
Voici l'erreur :
dans admin.php
j'ai ajouté un header quand Auth::isLogged = true ... alors que je suis déjà sur cette page :/ Boulet lol!Merci pour ton tuto en tout cas
doudouzeb Il y a 2 ans - Répondre
salut, chaque erreur m'aide à ne pas les faires...merci !!
bizhon Il y a 2 ans Répondre
Je rectifie , j'ai aussi un soucis sous IE:
- Chargement de la page tres longue , comme si il y avait une boucle dans mon programme ...
Je me permets d'inserer mon bout de code de admin.php
<?php
session_start();
require("auth.php");
if(Auth::isLogged())
{
header('Location:admin.php');
}
else
{
header('Location:login.php');
}
?>
Si quelqu'un arrive a voir mon erreur :$, ça serait vraiment sympas !
Merci
legraveleux emile Il y a 2 ans Répondre
Le php est un langage très simple
bizhon Il y a 2 ans Répondre
Oui oui bien sur !
Je vais essayer ce soir de le faire sans les pages dynamiques, exactement comme dans le tuto.
Si j'ai une solution, je n'hesiterais pas a la faire circuler via ce site
bizhon Il y a 2 ans Répondre
Bonjour,
je suis attentivement tes tutos et je dois qu'ils vraiment au top !! Un grand merci.
Cependant j'ai un petit soucis quand je veux me rediriger vers la page "privee".
Je passe par des pages dynamiques exemple : header('Location:index.php?p=admin');
la page admin etant la page privée.
Sous firefox, j'ai une erreur de type : La cause de ce problème peut être la désactivation ou le refus des cookies et sous IE la page bloque ...
Je voulais si quelqu'un utilise les sessions avec des pages dynamiques?
Merci d'avance.
Bonne journée
Arnaud Il y a 2 ans - Répondre
A tu mis ca en tout premier ? :
<?php
session_start();
require("le_nom_du_fichier_authentifiant.php");
?>
Hennek Il y a 2 ans Répondre
Oubliez mon commentaire ... j'ai voulu allez trop vite :/
Hennek Il y a 2 ans Répondre
Bonjour à tous, j'ai suivit le tuto, mais j'ai un problème que je ne comprends pas, j'obtiens ceci :
Unknown column 'a94a8fe5ccb19ba61c4c0873d391e987982fbbd3' in 'where clause'
Quelqu'un pourrait m'expliquer ?
louisdsm Il y a 2 ans Répondre
Bonjour j'ai juste une question ya t'il de php 5 dans Auth.php Merci
laurwin Il y a 2 ans Répondre
Salut à tous ^^
J'avais une question, Grafikart, tu parles de sécurité avec la fonction sha1() au cas où la personne aurait accès à notre base de donnée et qu'il verrait tous les mots de passe, mais finalement, si la personne accède à la base de donnée, il lui suffira juste de changer le mot de passe avec cette fonction sha1 pour qu'il puisse se connecter avec le login de son choix... non ?
PS: j'ai dû me déconnecter car je n'arrive pas à poster des commentaires via mon compte, y'a t il un soucis ? ^^
Grafikart Il y a 2 ans
Pour les mots de passe ça évite que si la personne utilise le mot de passe entré sur ton service sur d'autres services elles se fassent voler d'autres trucs. Tu peux imaginer sauvegarder des données plus sensibles (comme les codes de carte bleues par exemple)
PS : normalement tu devrais pouvoir poster des commentaires depuis ton compte, c'est corrigé.
laurwin Il y a 2 ans - Répondre
Oki, merci Grafikart, je comprends mieux
(Et merci aussi pour les commentaires^^)
stylgrafik Il y a 2 ans Répondre
Bonjour,
Quelqu'un serait m'expliquer pourquoi j'ai du remplacer
header('Location: http://www.styl-grafik.com/admin/connect.php '); par
echo '<script language="Javascript"> document.location.replace("connect.php"); </script>';
mathias Il y a 2 ans Répondre
Pour mon test quand je click sur connection la page m'affiche : Unknown column '39dfa55283318d31afe5a3ff4a0e3253e2045e43' in 'where clause'
Ysn Il y a 2 ans Répondre
Tu peux mettre ceci aussi " header('Pragma:nocache'); "
Yann Il y a 2 ans Répondre
Donc dans ce cas il suffit d'avoir des pages avec la balise meta no-cache ?
Ysn Il y a 2 ans Répondre
Salut Grafikart
Merci avant toute chose pour tes tutoriels tres bien fait !
bon voila, j'ai remarqué qu'il y avait un petit probleme au niveau de Auth.php c.a.d que quand on se déconnecte avec la page logout.php, il se trouve que les variable de session ne sont pas vraiment détruite parce que si dans le cas ou on retourne en arriere vers une page protéger avec le scripte Auth.php ceci grace au bouton retour du navigateur, alors on remarque qu'on peux accéder a toute les pages soidisant sécurisé !
Donc, si tu a une solution a ce probleme
Merci encore
Grafikart Il y a 2 ans
Le navigateur garde en cache les rendu des précédente page. Ce qu'il veut dire que même si l'utilisateur peux afficher la page il ne pourra y effectuer aucune action. Ceci ne représente pas une faille au niveau sécurité.
Ysn Il y a 2 ans - Répondre
Ok compris ! merci encore
Nibdok Il y a 2 ans Répondre
juste par curiosité (maintenant que j'ai bien progressé en php mysql depuis mes derniers posts ^^) est ce que juste dans la page login redéfinir les variable comme suit :
$login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
$mdp = sha1(mysql_real_escape_string(htmlspecialchars($_POST['mdp'])));
est-ce que cela suffit d'après toi comme sécurité en terme d'injection ?
n'étant pas encore pro je préfère demander ^^
Merci d'avance.
Grafikart Il y a 2 ans - Répondre
Normalement c'est bon.
Baptiste Il y a 3 ans Répondre
super ça marche nickel! merci à tous
Baptiste Il y a 3 ans Répondre
voilà: http://goguelyterrassement.free.fr/info.php
je vois pas trop en quoi ça m'avance! lol
Badbart Il y a 3 ans - Répondre
Ca avance que ton free.fr utilise php 4, hors il faut php 5 pour ton script. Donc tu dois forcer free.fr a utiliser php5. Pour ca, créé un fichier .htaccess a la racine du free.fr, avec dedans marquer "php 1" sans guillemet.
Badbart Il y a 3 ans Répondre
Si ça marche en local et pas sur free, tu peux toujours faire un phpinfo() voir la version php etc etc qu'utilise free.
Baptiste Il y a 3 ans Répondre
salut!
j'ai un problème en voulant aller sur la page protégée: il y a:
Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mnt/162/sdd/e/a/goguelyterrassement/admin/auth.php on line 5
line 5 de mon auth.php c'est:
static function islogged(){
que ce passe t il? merci!
je suis sur free... en local ça marche.
merci
Jaieulememe Il y a 2 ans
Pour utiliser les sessions sur free il faut créé un dossier nommé "sessions" à la racine de ton site ...
folvool Il y a 1 an - Répondre
Bonjour,
J'ai la même erreur et je suis chez OVH. Avez-vous une idée?
Merci
belisaire Il y a 3 ans Répondre
<?php
require("../auth.php");
if(Auth::isLogged){} else{header("Location:login.php");}
?>
l'autre c'était pas le bon ^^
mais quelqu'un c'est ou il y a l'erreur ???
belisaire Il y a 3 ans Répondre
dsl mais ca je l'ai vu et ça change rien
Badbart Il y a 3 ans Répondre
header("Location:'login.php'");
header("Location:login.php");
Enfin suffisez de lire le message d'erreur en gros, et au pire le 'googleifier' pour avoir de l'aide.
belisaire Il y a 3 ans Répondre
voilà j'ai deux problè un avec le bou de code dans ma page privé
ça m'affiche ça :
Parse error: parse error, expecting `','' or `')'' in C:\wamp\www\auth.php on line 6
mon code est :
<?php
session_start();
require("../auth.php");
if(Auth::isLogged()){
}else{
header("Location:'login.php'");
}
?>
grafik ou quekqu'un d'autre voit un problème ????
Akizuki Il y a 3 ans Répondre
Salut,
déjà, merci pour le tuto, j'en cherchais un depuis un moment, et t'expliques super bien
J'ai juste un petit problème à un moment, au niveau des classes, et de "isLogged".(Je débute un peu en php, et surtout en POO)
Je t'explique : quand je veux afficher la "pageprivee.php", après le
require("auth.php");
if(Auth::isLogged){} else{header('Location:login.php');
J4ai ça, dans mon navigateur : "Fatal error: Undefined class constant 'isLogged' in C:\wamp\www\site\pageprivee.php on line 4"
Une idée ? ^^'
JLou Il y a 2 ans - Répondre
Tu as oublié les parenthèses après isLogged, alors sa cherche la constante de classe isLogged au lieu de la fonction isLogged()
Skater54 Il y a 3 ans Répondre
C'est quel logiciel mac que vous utilisé pour programmer ? Comment il s'appelle ?
amoric69 Il y a 2 ans - Répondre
coda
Baptiste Il y a 3 ans Répondre
salut!
très bon tuto! ça marche très bien!
j'ai une question: j'ai un dossier administration sur mon site avec plusieurs pages à sécuriser. Je peux sécuriser le dossier d'un coup? où il faut mettre une vérification à chaque page?
merci!
@+
JOnathan Il y a 3 ans Répondre
C'est bon j'ai trouver la solution .
Parcontre j'ai un bug qui n'apparais que maintenant : Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/iphoneapp/www/dvdxpress/administration/modif.php:1) in /home/iphoneapp/www/dvdxpress/administration/modif.php on line 2
Il n'y a rien au dessus de session_start et hier cela marquer parfaitement . . .
Le code : <?php
session_start();
require("auth.php");
if(Auth::isLogged()){
}
else{
header('Location:index.php');
}
?>
Jonathan Il y a 3 ans Répondre
bonjour je voudrais savoir si vous pouviez m'aider sur la page proteger sa marque
Parse error: syntax error, unexpected '{' in /home/iphoneapp/www/dvdxpress/administration/auth.php on line 6
je voudrias avoir comment regler ce probleme ?
voici le code :
<?php
session_start();
require("auth.php");
if(Auth::isLogged()){
}
else{
header('Location:index.php');
}
?>
MogWaï Il y a 3 ans Répondre
PS : Pour connaitre la version de PHP installé sur le serveur il vous faut créer un fichier .php contenant le code "phpinfo();" et de l'appeler depuis votre navigateur.
MogWaï Il y a 3 ans Répondre
Attention !!!
Pour les utilisateur de free :
Par défaut PHP est en version 4.43 pour la passer en version 5 il vous suffit de créer un .htaccess à la racine du site contenant le code "php 1".
En effet "static function" dans le fichier "auth.php" renvoie une erreur de syntaxe car Static n'est digéré que à partir de PHP 5.0 ...
Free quand tu nous tiens !!!
A plus +
MogWaï Il y a 3 ans Répondre
Attention !!!
Pour tous les utilisateur de free :
Il faut créer un dossier "sessions" à la racine du site pour éviter les erreurs de "session_start()"
Merci Raton pour tes tutos d'une qualité rare !
turlututu Il y a 3 ans Répondre
Et l'aut ..$encrypt = md5(sha1("sapher")); haha
Merci
sapher Il y a 3 ans Répondre
Comme le MD5, le SHA1 à des bibliothèques sur le net. C'est pas vraiment sécurisé, mais on fait avec ce qu'on a. La plupart du temps (^^) quand un pirate débarque sur votre serveur mysql c'est qu'il y a une certaine prestance pour contourner ce genre de petit problème.
Pour entrer dans la paranoia, $encrypt = md5(sha1("sapher"));
arnaud Il y a 3 ans Répondre
Bonjour,
Grafikart pourais tu m'indiquer comment renvoyer le message d'erreur a un endroit plus précis a savoir :
else{
echo "Mauvais identifiants";
}
a coter ou en haut du formulaire par example... Merci
shadow man Il y a 3 ans Répondre
Quel est l'intérêt de vérifier le contenu de la session ?
Par défaut la session est sauvegardée en tant que fichier sur un zone inaccessible par la serveur Apache (donc pas possible depuis le protocole http de récupérer sont contenu).
Une requête SQL est une perte de temps non négligeable donc inutile de faire ce genre de chose.
Apaulo13 Il y a 3 ans Répondre
Merci, Merci Beaucoup.
Super tutoriel et un bon moment de passé à me laisser guider par un bon professeur.
Que du bonheur car maintenant j'ai un bon point de départ pour développer mes accès privé.
coucou Il y a 3 ans Répondre
merci c tres bien
Lordangel Il y a 3 ans Répondre
Vraiment un super tuto !! Merci le Raton laveur. J'attends vos autres tutoriels avec impatience.
musician-rider Il y a 3 ans Répondre
Tout d'abord merci pour ce tuto, vraiment très pratique ^^
Je voudrais juste savoir s'il existe une fonction qui permet de décrypter les mots de passe cryptés par sha1 ?
Fanzie Il y a 3 ans Répondre
merci pour ce tuto. Juste ce dont j'ai besoin.
Petite question : Quel éditeur de script utilises-tu ? Il est très intéressant !
Ravi Il y a 3 ans Répondre
merci beaucoup encore une fois ^^
Artkabis Il y a 3 ans Répondre
Encore un très bon tuto, c'est exactement ce que je recherchais. J'avoue que j'apprécie aussi ta méthode avec les classes static.
En tout cas merci pour ce partage, le tuto est clair et la méthode efficace.
Bonne continuation pour la suite de t'es projets...
Deezer Il y a 3 ans Répondre
Moi lorsque j'ai mis :
39dfa55283318d31afe5a3ff4a0e3253e2045e43 après je clique sur afficher ca me mets
id : 1
login : 0
pass : 39
Pourquoi ca n'affiche pas mes vrais identifiants :
id:1
login:eski-mot
pass : 0000
??
sami Il y a 3 ans Répondre
merciiiiiii grafikart c'est trop top ces tutorials Samir du Maroc developpeur php/mysql debutant.
Huviel Il y a 3 ans Répondre
J'ai uploadé mes fichiers et là c'est la cata. En local tout marche bien, mais sur mon ftp j'ai ce message:
"page public
Warning: Cannot modify header information - headers already sent by (output started at /home/aemaethe/public_html/index.php:9) in /home/aemaethe/public_html/index.php on line 11"
Je vois pas comment corriger ça. Quelqu'un aurait une idée.
lordangel Il y a 3 ans Répondre
Super tuto, je suis quelque tutos php sur ce site depuis un moment et j'y apprend vraiment beaucoup. Merci Grafikart.
Huviel Il y a 3 ans Répondre
Pardon pour le doublon.
J'ai résolu mon problème, j'avais mal orthographié une variable. Très bon tuto en tout cas, agréable à écouter :-)
D'ailleurs je vais attaquer celui sur l'upload d'images.
Huviel Il y a 3 ans Répondre
Bonjour,
J'ai un petit soucis avec le tuto,une fois loggué je ne suis pas redirigé. Même si je tente d'accéder à une page via mon navigateur il me redemande mon login.
Pourtant j'ai bien mis le header pour la redirection.
Vous avez une idée sur le pourquoi du problème ?
iankoOol Il y a 3 ans Répondre
p'tit café pour la peine
iankoOol Il y a 3 ans Répondre
Hello,
Haaa la réponse à ma question précédente...
Aussi, qu'elle est la bonne méthode pour protéger l'acces au données Mysql ?
1 fichier php contenant les infos de connection mysql dans un sous dossier protéger par un htaccess, et appelé via (include ?) est-il suffisant ?
Sorry je suis graphiste freelance, xhtml/css, utilisateur du CMS Typolight, débutant php pour voir plus loin...
D'ailleurs les tutos Graphikart sont top de top pour capter les bases du langage php, un grand grand merci...
Grafikart Il y a 3 ans Répondre
@s-wf : Absolument aucune sécurité.
Ca me permet d'être sur que personne utilise le script tel quel, et que les gens cherchent un peu
s-wf Il y a 3 ans Répondre
je me trompe ou y a aucune securite question injection sql et autre Oo
Thormes Il y a 3 ans Répondre
Bonsoir,
Je tiens tout d'abord a te féliciter pour l'ensemble de ton travail et surtout des tuto proposés de si bonne qualité.
J'ai tout suivi scrupuleusement, j'ai visionné et re re re visionné de nombreuses fois mais rien n'y fait,... j'explique mon problème avant de perdre les derniers cheveux qu'il me reste :D
mes identifiants sont bons mais pas moyen de me connecter à la page privee... pourtant ma location:prive si les identifiants sont bons sont exacts,...
Bref si tu as une idée du problème, je serai ravi
s-wf Il y a 3 ans Répondre
J'ai beau chercher je trouve pas comment telecharger
Grafikart Il y a 3 ans Répondre
@Deezer : Pas compris
Deezer Il y a 3 ans Répondre
Je vote pour les tutos sous Windows svp Raton;..
Salazar Il y a 3 ans Répondre
Trés bon tutoriel
Merci
Wan972 Il y a 3 ans Répondre
Encore un tutoriel qui me tape l'oeil.
Merci Graphikart
leknoppix Il y a 3 ans Répondre
Que dire à part de dire Merci.
cerise Il y a 3 ans Répondre
oh Grafikart tout tout pleins de merci pour toi
cerise
legendary Il y a 3 ans Répondre
super ! merci beaucoup
iankoOol Il y a 3 ans Répondre
bravo pour tout les supers tuto !!!
Petite question, le fait de mettre les indentifiants mysql dans la page n'est-il pas une brèche dans la sécurisation ?
Une base mysql d'un site peut contenir le site en lui même et ainsi être accessible et modifiable ... ?
fedora Il y a 3 ans Répondre
@ Grafikart: sa marche Merci j'ai vue ce tuto. vraiment tu nous aide bcp Grafikart
Merci mon Frère.
Nono Il y a 3 ans Répondre
Comme tous les autres, je te remercie pr ton tuto très instructif !
Par contre je suis comme Charlouf, je me demande quel est l'avantage d'utiliser des fonctions en POO ?
Merci encore !
Grafikart Il y a 3 ans Répondre
@Fedora : Tu peux pas voir les vidéo depuis vimeo ? Et dailymotion ça marche ?
@KriS Concept : Tu peux effectivement utiliser les cookies moyennant quelques modifications, l'idée c'est de vérifier qu'il y a une session OU des cookies, par contre je te conseille de vérifier la validiter de tes cookies quand tu les récupère, histoire que quelqu'un ne puisse pas changer l'id de son cookie par exemple. (vérifier que id + login et valide)
KriS Concept Il y a 3 ans Répondre
Hello, très bon tutoriel (comme d'hab...), est-ce qu'on peux coupler ce système à des cookies ou autre. Je cherche un système pour conserver les identifiants si l'utilisateur ferme et ré-ouvre son navigateur.
Merci par avance
Encore bravo Grafikart ;-)
fedora Il y a 3 ans Répondre
@ Grafikart : comment je puisse voir ce video SVP ?
Babou Il y a 3 ans Répondre
Super tuto, rien à dire
J'avais énormément besoin de ce tuto puisque je me suis fais hacker par l'administration qui n'était pas protéger ^^'
Bref, j'avais aussi besoin de plusieurs type de rang, mais comme tu l'a dit, je vais un peu cherche
Bye, merci encore.
Charlouf Il y a 3 ans Répondre
Salut.Merci pour ce tuto encore une fois très bien expliqué et bien développé au niveau de la sécurité.Cependant j'ai une petite question: je ne suis pas très à l'aise avec la POO(je ne fais que du procédural) et je ne comprends pas l'intérêt de mettre les fonctions dans une class.On pourrait aussi mettre les fonctions les unes à la suite des autres dans le fichier php?Qu'est ce que la class apporte ici?Merci.
Grafikart Il y a 3 ans Répondre
@Jasse29 : Faut que je change de formule d'hébergement pour pouvoir ajouter de nouvelle vidéo. En attendant, tu peux les télécharger depuis mon compte vimeo (en bas a droite, dans la sidebar sur la page d'une vidéo)
Skob Il y a 3 ans Répondre
Hey !
Je connaissait les sessions, mais ton tutoriel m'a appris a mettre
$SESSION['Auth'] = array( ...
qui permet de mieux organiser de 1 le code et de 2 la lecture des données (je faisait plusieurs sessions pour les infos du style $_SESSSION['pseudo'],$_SESSSION['pass'], etc...) pour la fonction aussi qui est bien =)
Sur ce je vous laisse, à très bientôt et contenue ses magnifiques tutoriels
Skob
Jasse29 Il y a 3 ans Répondre
Re-,
On ne peut pas télécharger cette vidéo ?
PS : Désolé pour le double post. Quand on n'a pas de tête, on a des doigts
Jasse29 Il y a 3 ans Répondre
Bonjour,
Riches d'enseignements, et certainement très utile... Il va falloir que je pratique
dodo021 Il y a 3 ans Répondre
Merci pour se tuto très intéressant comme d'habitude.
Have Fun DoDo021
Waymo Il y a 14 jours Répondre
Bonjour,
j'ai un soucis, le tuto fonctionne très bien en local avec wamp mais depuis qu'il est en ligne, toutes les pages fonctionnent mais il m'affiche la page admin avec la possibilité de modif, créer et suppr une news sans me demander le log et le pass.
La session ne fonctionne plus en gros. Je n'ai aucunes erreurs je ne vois pas trop ou est le problème :/
Une idée ?