Masquer nom du fichier.php dans URL

Boueep Messages postés 41 Statut Membre -  
 amine -
Bonjour,

Je cherche à ce que le nom de fichier.php ne s'affiche pas après que mon login / mot de passe ai été validé et que la redirection se soit faite.

En effet, le code de mon index.php est le suivant :

<?php

if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic entrer=\"Entrer dans la page\" ");
Header("HTTP/1.0 401 Unauthorized");
echo "Vous avez appuyé sur le bouton annuler!\n";
exit;
} else {
if ( ($PHP_AUTH_USER == "nomutilisateur") && ( $PHP_AUTH_PW == "motdepasse" ))
{
//pour rediriger apres verification du pass
header("location: http://localhost/dossier%20site/sous%20dossier/page.php");
}
else
{
//si le passe et pas bon
echo "<html><body>Vous n'êtes pas autorisé à visionner cette page.<P></body></html>";
}
}

?>


Quand j'ai renseigné mon login et mon mor de passe il me redirige vers :

http://localhost/dossier%20site/sous%20dossier/page.php

Jusque là tout va bien ....
Mais si quelqu'un voit sur mon écran l'url écrit une fois redirigé il lui suffira de le recopier pour passer outre mon index et pouvoir afficher la page sans demande d'accès.

C'est pour ça que j'aimerais que la redirection se fasse mais que n'apparaisse pas dans l'URL de mon navigateur le nom de "page.php" ... = http://localhost/dossier%20site/sous%20dossier/

Est-ce possible d'après vous ?
Merci d'avance.

Boueep.
A voir également:

7 réponses

oodid
 
C'est de l'URL Rewriting.
2
amine
 
j ai essayé de chercher des informations sur RewriteRule et l'URL Rewriting.
mais le souci et qu on demander de mettre du code dans un fichier .htacces
je n arrivez pas a creer ce fichier
pouriiez vous m aider a le creer ou de me donner un lien pour pouvoir le modifier?,?
0
Nep_51 Messages postés 56 Statut Membre 9
 
Bonjour,

Pour empêcher l'affichage de la page .php dans l'url, tu dois renommer ton fichier en index.php.
Mais ton principal soucis n'est pas la.
Ton utilisateur pourra tout de même aller voir les pages sans se logguer.

Je te conseille plutot d'ouvrir une session php lorsque ton visiteur s'est identifié:
session_start();
$_SESSION['pseudo'] = $pseudo;
Et ensuite de vérifier en haut de ton fichier du site si une session est ouverte:
if(isset($_SESSION['pseudo']))
//Le gars est validé, tu mets le contenu du site
else
//Redirection vers la page d'accueil

Nep
1
Boueep Messages postés 41 Statut Membre 3
 
Bonjour et merci pour cette réponse :)

Oui comme tu dis cela ne résoud pas mon problème ...
Concernant ta solution, je vais cherche un tuto sur le sujet, puis essayer, car j'y connais pas grand chose :)

Merci encore
1
Nep_51 Messages postés 56 Statut Membre 9
 
Un autre conseil au passage:
Créé toi un fichier session.php dans lequel tu met le code avec la redirection avec le formulaire de login
Ensuite à chaque début de page qui nécessite d'être loggué, tu inclues ce fichier.
Résultat, tu fais une fois ton code et c'est gagné.
Si j'ai le temps, je te posterai une solution (ca va pas être long mais je vais manger :-) )

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nep_51 Messages postés 56 Statut Membre 9
 
Tu peux aussi faire venir ton formulaire d'identification sur ta page à visualiser et ton fichier deviens:

if (loginOk($_POST['$pseudo'],$_POST['$motdepass'])){
session_start();
$_SESSION['pseudo'] = $_POST['$pseudo'];
}
if(!isset($_SESSION['pseudo']))
header("location: PageDeLogin.php");


le fonction loginOK renvoie true si l'identification à marché



1
Boueep Messages postés 41 Statut Membre 3
 
Bonjour,

Merci pour ces conseils ... j'ai procédé de la sorte et tout fonctionne !
Bonne journée.

Boueep !
1
amine
 
et pour maquer le nom de la page sur l'url comment on fait, par exemple si j ai une page info1.php et info2.php info3.php sur un dossier info
je voudrais que lorsque j accde a ces page j ai seulement le nom du dossier ex: www.monsite/info/

sans nom de la page
1