Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/07/2006, 17h54   #1
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Par défaut [Sécurité] authentification pour accès site

Bonjour,

Bon, je me suis monté un portail d'entré pour mon site web en PHP en lien avec MYSQL.

Mais, je voulais savoir comment faire pour que les aspirateurs ou robots de pages web ne puisse pas l'aspirer ou le détecter ? (comme peut le faire .htaccess)

D'avance merci !!!!
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 18h14   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
tu veux protéger quoi exactement ?
Si tu vois comment faire avec .htaccess, c'est probablement la solution.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 18h34   #3
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
En fait, je voulais faire une page, genre index.htm, avec :

Code :
1
2
3
4
5
<form action="authentification.php" method="POST">
		Identifiant : <input type="text" name="userid"><br>
		Mot de passe : <input type="password" name="userpw">
		<input type="submit" value="OK">
	</form>
Pour que un utilisateur lambda puisse s'authentifier. Mais en même temps j'aurais voulu protéger le contenu du site perso...

Est-ce qu'on peut utiliser cette interface html pour s'authentifier avec htaccess ?
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 18h37   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
ah tu veux protéger la partie du site réservée aux utilisateurs loggés ?
Bah écoute, les sessions, c'est ce qu'il te faut.
http://matthieu.developpez.com/authentification/

EDIT: bon c'est peut-être pas le plus adapté en fait, va donc voir là d'abord :
http://julp.developpez.com/php/les-sessions/
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 18h53   #5
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Mais mon problème ne vient pas de comment faire des sessions PHP, ça s'est bon !!

J'ai fait mon p'tit système de login/password avec ma base MYSQL qui se répercute sur tout mon site.

Ce que je voudrais maintenant c'est protéger les données de mon site...
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 18h55   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
Ce que je voudrais maintenant c'est protéger les données de mon site...
Si les données sont dans tes fichiers PHP, il te suffit de faire les vérifications qui s'imposent au début de chaque script (vérifier que l'utilisateur loggé a les droits pour accéder au document), et si non, on le redirige vers la page de login.

Continue à préciser ta question, je vais bien finir par y répondre
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 19h05   #7
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47


Ouep, j'y avais pensé pour l'accès des pages à faire un script de vérification avec la base sinon renvoyer sur la page de login.

Mais, si quelqu'un utilise un aspirateur de site, il peut tout aspirer...

Et puis y a des dossiers contenant de photos personnelles, etc. (pareil j'y placerai un index.php dans chq dossier renvoyant sur la page d'accueil pour les loggé et sur la page login pour tout le reste).
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 19h09   #8
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
Mais, si quelqu'un utilise un aspirateur de site, il peut tout aspirer...
Ah mais non, il ne peut pas aspirer tes sources. Et il ne pourra aspirer le contenu affiché que s'il est loggé !

Citation:
Envoyé par Badaboumpanpan
Et puis y a des dossiers contenant de photos personnelles, etc.
Ca, c'est un autre problème. Pour ma part, je le règle en utilisant des fichiers .htaccess pour faire de la réécriture d'URL : quand un utilisateur demande photo.jpg, la réécriture d'URL fait que c'est en fait download.php?file=photo.jpg qui est appelé. Le script vérifie les droits de l'utilisateur : s'ils sont mauvais, on redirige vers la page de login. S'ils sont bons, PHP fait un readfile du fichier (en envoyant les headers qui correspondent au bon format), c'est à dire qu'il en renvoie le contenu à l'utilisateur.
Si l'utilisateur est correctement loggé : c'est complètement transparent quand il demande photo.jpg
S'il n'est pas loggé (aspirateur, moteur) : c'est comme si le fichier photo.jpg n'existait pas et qu'il était redirigé vers la page de login.

C'est juste un exemple, mais ça marche à merveille.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 19h14   #9
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Oula !!!

Je suis preneur, mais je n'ai pas tout compris à la redirection...
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2006, 19h17   #10
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
Oula !!!

Je suis preneur, mais je n'ai pas tout compris à la redirection...
J'ai édité mon message, il y avait un lapsus : c'était bien sûr réécriture d'URL qu'il fallait lire, mais les lecteurs auront rectifié d'eux-mêmes
http://web.developpez.com/tutoriel/apache/urlrewriting/
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2006, 16h23   #11
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
J'ai du mal à comprendre le principe de réécriture et comment je peux faire pour protéger mes fichiers photos...

J'ai tenté ça...

Code :
1
2
3
Options +FollowSymlinks
RewriteEngine on
RewriteRule   ^.png$   ./index.htm  [L]
Pour rediriger les gens accédant au dossier photo... mais rien...

Et je ne trouve encore moins pour pouvoir identifier l'utilisateur...

Aurais-tu une piste ?
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2006, 16h27   #12
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
J'ai du mal à comprendre le principe de réécriture et comment je peux faire pour protéger mes fichiers photos...
Voilà comment je fais pour mes pdf :
Code :
1
2
RewriteEngine on
RewriteRule   ^([a-z0-9A-Z_-]*).pdf$   dl.php?file=$1 [L]
Et ça envoie les requêtes sur le fichier dl.php, avec le nom du fichier (sans extension) en paramètre GET. T'as plus qu'à adapter. Il faut aussi qu'apache supporte la réécriture d'URL, mais je sais plus comment on fait si c'est pas le cas.

Citation:
Envoyé par Badaboumpanpan
Et je ne trouve encore moins pour pouvoir identifier l'utilisateur...
Pour ça, c'est dans ton fichier php, tu fais comme dans les autres pages à accès restreint, tu testes les variables de session (+ éventuellement des infos sur les droits en base de données, faut voir)
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2006, 16h29   #13
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Ok.

Mais je crois que j'ai trouvé une mauvaise nouvelle...

Je suis entrain de monter mon site sur une page perso free et j'ai l'impression que rewriterule n'est pas supporté...

Citation:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Apache/ProXad [May 31 2006 11:08:55] Server at site.free.fr Port 80
D'ailleurs, il n'est pas à jour leur serveur...
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2006, 16h32   #14
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
Ok.

Mais je crois que j'ai trouvé une mauvaise nouvelle...

Je suis entrain de monter mon site sur une page perso free et j'ai l'impression que rewriterule n'est pas supporté...
Bon. Solution de secours : il faut que tes liens vers les images soient des liens vers une page PHP (sans réécriture)
Et pour les protéger, tu mets toutes tes images dans un répertoire, avec un .htaccess qui fait un deny from all.

Comme ça on ne peut pas accéder aux images sans passer par le script php (qui lui peut outrepasser le .htaccess)

Tu suis ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2006, 16h33   #15
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Je vais essayé.

En gros dans mon :

Code :
<img class="bidule1" src="script.php">
Et dans mon script php si ma class = bidule1 alors src prend image1.png ?
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2006, 20h21   #16
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 25
Points : 14
Points : 14
<img src="script.php?img=image1"> plutot je pense =)
Dayom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 13h51   #17
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Et du coup dans mon "script.php" j'insère un selon de sorte que j'ai qq chose du style :

Code :
1
2
3
4
5
6
switch ($img) {
case 'image1' :
    echo "chemin/image1.png";
    break;
case 'image2' :
    ...
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 14h21   #18
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
Citation:
Envoyé par Eusebius
Bon. Solution de secours : il faut que tes liens vers les images soient des liens vers une page PHP (sans réécriture)
Et pour les protéger, tu mets toutes tes images dans un répertoire, avec un .htaccess qui fait un deny from all.

Comme ça on ne peut pas accéder aux images sans passer par le script php (qui lui peut outrepasser le .htaccess)
Bon, le script php c'est fait. J'ai mis le .htaccess mais mon php ne le contourne pas... comment je peux le contourner ?
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 14h25   #19
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Badaboumpanpan
Bon, le script php c'est fait. J'ai mis le .htaccess mais mon php ne le contourne pas... comment je peux le contourner ?
comment tu ouvres tes fichiers ??
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 14h38   #20
Membre du Club
 
Avatar de Badaboumpanpan
 
Inscription : janvier 2006
Messages : 202
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : janvier 2006
Messages : 202
Points : 47
Points : 47
fichier html :

Code :
1
2
3
4
5
<html>
<body>
<img src="script.php?img=image1.png">
</body>
</html>

fichier script.php :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?
switch ($img) {
	case 'image1.png' :
		$url="chemin/image1.png";
		break;
	case 'image2.png' :
		$url="chemin/image2.png";
		break;
	};
 
header("location:$url");
?>
Badaboumpanpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h09.


 
 
 
 
Partenaires

Hébergement Web