Protection d'un site contre les acces directs aux pages

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 364 fois - Téléchargée 28 fois

Contenu du snippet

Petite astuce pour empecher d'acceder directement a certaines pages sur un site en pseudo frames.

contre les url du genre : www.monsite.fr/index.php?page=admin
et du genre : www.monsite.fr/admin.php

ca me semble pas bien complique comme truc, alors peut etre n'est ce pas tres fiable.

si jamais il y avait un faille, merci de me prevenir pour y remedier :)

Source / Exemple :


/* Fichier index.php*/

<html>
<head>
<title>Titre</title>
</head>
<body>
<center>
<?
/* si page est specifie dans l'url alors j'en tiens pas compte*/
if($page!=""){$page="";}
/*variable Init sert plus tard*/
$Init=true;
$page= $_POST['page'];
switch ($page)
{
	case 'page1':
		include('page1.php');
		break;
	case  'page2':
		include('page2.php');
		break;
	default :
		include('acceuil.php');
}
?>
</center>
</body>
</html>

/*Fichier acceuil.php et autres*/
<html>
<head>
<title>Titre</title>
</head>
<body>
<?
/* si init = true alors on est bien passé par la page index, */
/* sinon on y passe de suite*/
if($Init!=true){include('index.php');}
else
{
/*Le contenu de la page*/
}
?>
</body>
</html>

A voir également

Ajouter un commentaire

Commentaires

cs_PaTaTe
Messages postés
1878
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
7 janvier 2019
-
Je me demande une chose :

Personnellement j'utilise le code suivant sur un site. J'aimerais savoir si il y a faille ou non. A noter que admin.php est géré en htaccess. Comme je tatonne le PHP, ça serait bien de m'aiguiller.


<?PHP
if (isset($_GET['page'])){
switch($_GET['page']){
case 'admin';
include('admin.php');
break;
case 'news':
include('news.php');
break;
case 'sources':
include('Sources.php');
break;
case 'mail';
include('mail.php');
break;
}}else{
include('news.php');
}
?>
rem78
Messages postés
230
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
5 avril 2015
-
Oups !!! j'ai oublié de préciser que ce message etait destiner à bucherd....mais toutes autres participations est la bienvenue ;-)

ciao !!

rem78
rem78
Messages postés
230
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
5 avril 2015
-
Bonjour,

Je viens de lire ton message concernant le script de PROTECTION D'UN SITE CONTRE LES ACCES DIRECTS AUX PAGES, et justement je recherche un moyen de protéger efficacement mon site de ce genre d'accès direct et je voudrais savoir si tu aurais un script qui permettrai de réaliser cette protection sans altérer son fonctionnement et qui soit compatible 100% avec des Frames car mon site est entièrement fait de Frames plein écran sauf la page d'index.html sinon toutes les autres pages sont en php.
Voir les liens concernant ce problème mis sur ce site :
http://www.phpcs.com/forum.v2.aspx?ID=326251

Merci de ton aide !!

rem78
bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Ou sinon tu peux faire plus simple, y a toujours moyen de passer au travers, mais beaucoup moins facilement que dans tout les exemples cités précédemment... Je dirais même que si tu connais pas la structure du site, tu peux pas t'en sortir lol...

Il te suffit de mettre le code suivant dans tes pages que tu veux protéger:
if (eregi("nomdelapage.php", $PHP_SELF)) {
Header("Location: index.php");
die();
}

Et ensuite pour accéder à cette page depuis ton site, tu fais dans ta page index.php:
include ("nomdelapage.php");

Ce script a pour but de bloquer l'acces à la page si elle est ouverte directement depuis le navigateur.. Il faut paser par index.php pour la voir..
bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
MRR Tu peux faire un define sur ta propre page PHP et inclure ensuite l'autre.. Y a toujours des combine...

Si tu connais le nom de ton cookie, il faut déjà trouver sa valeur..
Et pour la valeur, tu peux faire un codage de l'adresse ip par exemple
Même si une personne ursupe la valeur d'un autre, Sa fonctionnera pas.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.