Aller au contenu

Pages sécurisées


Sujets conseillés

Posté

Bonjour à tous, j'utilise actuellement 4 pages de sécurisation pour donner accès à des rapports en ligne:

Ingrédients:

un fichier "test.htm" qui permet à l'utilisateur de s'identifier

un fichier "user.inc.php" qui contient les login et mots de passe des personnes autorisées

un fichier "auth.php" qui vérifie l'accréditation de l'utilisateur

un fichier "pagesure.php", à titre d'exemple de page sécurisée

Mon soucis et c'est pour cela que je vous demande de l'aide, est que je voudrai plus de précisions sur chaque login.

JE M'EXPLIQUE :

Je voudrai que si Monsieur X se connecte --> cela le renvoi à la page 1 par exemple

Et si Monsieur Z se connecte --> cela le renvoi à la page 2 par exemple

Et ainsi de suite.

Voici mes codages: (MERCI pour vos réponses)


[b]Contenu du fichier "test.htm"[/b]
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<TABLE BORDER="1" ALIGN="CENTER" CELLPADDING="10"><TR><TD>
<DIV ALIGN="center"><form action="auth.php" METHOD="POST" name="secure" onSubmit="return Verif()">
<font face="Verdana" size="1" color="#000000"><b>Nom :
<input type="text" name="login" value="Votre login"><br>
Mot de passe :</font></b>
<input type="password" name="pass" size="6">
<input type="submit" value="Entrer">
</FORM></DIV>
</TD></TR>
</TABLE>
<script language="JavaScript">
<!--
<!-- VERIFICATIONS -->
function Verif() {
if (document.secure.login.value=="Votre login"){
window.scrollTo(0,0)
alert ("Votre login!!!");
document.secure.login.focus();
return false;
}
if (document.secure.login.value==""){
window.scrollTo(0,0)
alert ("Votre login!!!");
document.secure.login.focus();
return false;
}
if (document.secure.pass.value=="" ){
window.scrollTo(0,0)
alert ("Votre mot de passe!!!");
document.secure.pass.focus();
return false;
}

return true;
}
// -->
</script>

</BODY>
</HTML>


[b]Contenu du fichier "user.php"[/b]
<?
$user["Moi"] = "ana";
$user["Toi"] = "anta";
$user["Lui"] = "huwa";
$user["Elle"] = "hyya";
?>

[b]Contenu du fichier "auth.php"[/b]
<?
if($pass AND $login){
function AccessMember($login,$pass)
{
// OUVERTURE D'UNE SESSION
session_start();
// APPEL DU FICHIER PERSONNES AUTORISEES
require("user.php");
// SI L'UTILiSATEUR EST CONNU, UNE SESSION EST OUVERTE
if($user[$login] == $pass)
{
mt_srand((double)microtime()*1000000); // Durée de validité de la session
$IDs = md5(mt_rand(0,9999999)); // Crée une chaîne aléatoire pour la session
session_register($IDs); // Enregistre la session
// On veillera à bien mettre le code JavaScript hors code Php, quitte à y inclure des p'tits bouts de Php, comme ci-dessous
?>
<script language="Javascript">
<!--
alert('MARHABA BIK, HEUREUX MORTEL,\nET GOUTE AUX DIVINS PLAISIRS DU PHP.');
window.location='pagesure.php?IDs=<? echo $IDs ?>';
//-->
</script>
<?
}
else // SINON, VA TE FAIRE VOIR
{
?>
<script language="Javascript">
<!--
alert('Echec!');
history.back();
//-->
</script>
<?
}
}
AccessMember("$login","$pass");
}
else
{
?>
<script language="Javascript">
<!--
alert('Accès interdit sans authentification!');
history.back();
//-->
</script>
<?
}
?>

[b]Contenu du fichier "pagesure.php"[/b]
<?
############# DEBUT VERIF DE SESSION. NE PAS TOUCHER ###################
session_start();
if(session_is_registered("$IDs")=='TRUE')
{
?>
<!-- ############# DEBUT PAGE HTML A INCLURE ################### -->


<!-- ############# FIN PAGE HTML A INCLURE ################### -->
<?
####### FIN VERIF DE SESSION. A MODIFIER AVEC DELICATESSE, EN FONCTION DU MESSAGE D'ALERT SOUHAITE #######
}else{
?>
<script language="Javascript">
/* Texte de "alert" à modifier */
/* \n (anti-slash n) correspond à un retour à la ligne */
/* \' (anti-slash apostrophe) permet d'éviter les erreurs de JavaScript devant une apostrophe */
alert('Tu peux toujours courir!\nOn n\'entre pas comme ça dans la HOT zone !');
/* Modifier le fichier cible à atteindre en cas d'échec */
window.location='test.htm';
</script>
<?
}
?>

Posté

si qq a un autre langage ou un autre codage à me proposer pour ce que je voudrai réaliser, je lui en serai très reconnaissant.

Merci par avances.

Posté

Salut,

pourquoi faut-il des pages 1, 2, 3 etc pour chaque "membre" différents? (1) C'est un contenu totalement différent selon le membre ou (2) c'est juste pour afficher "Bienvenue X" lorsque c'est X qui se connecte et "Bienvenue Y" lorsque c'est Y qui se connecte?

A mon avis, le plus simple serait d'utiliser un formulaire d'authentification et PHP qui vérifie derrière. Ensuite tu stock la connexion dans une session et tu réaffiches les données qu'il te faut si c'est le cas (2) ou alors tu mets un header et tu rediriges vers la bonne page si c'est le cas (1).

Si tu as beaucoup de membres, le plus simple est également de gérer leurs noms de comptes et mots de passes via une base de données.

En résumé tu as:

  • authentification.php qui contient le formulaire et lorsque le formulaire est validé, tu fais le traitement session
  • membre.php qui contient la page membre personnalisée et uniquement accessible que si la personne est connectée ou alors membre1.php, membre2.php si tu préfères opter pour le cas (1)

Voilà, je ne sais pas si tu comprends bien. N'hésite pas à poser des questions.

Posté

Merci de suivre mon sujet.

En fait, le but est que chaque utilisateur, a qui je validerai et créerai leur log et mot de passe, pourront accéder à leurs rapports en ligne (contenus des pages différents selon les utilisateurs.

Le seul problème est que je suis novice et que les seuls codes trouvés sont ceux mis en première question.

Je ne sais pas faire ce que vous me proposez comme les ouvertures de sessions.

Merci.

Posté (modifié)

Je pense qu'un passage par MySQL est la meilleure solution où dans une table tu stockes les sélections pour un utilisateur.

Comme dit plus haut par yuston le plus simple est d'afficher une seule page mais personnaliser.

J'ai fais ça pour un système de cave à vin et aussi une bibliothèque, ça marche très bien.

Modifié par Sanguo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...