[PHP] authentification simple

bonjour à tous,

tout d’abord, je tiens à signaler que je suis une buse en programmation, donc désolé.

Voilà, je suis en train de faire un site intranet et je voudrai protéger une seule page.

Toutes mes pages sont en php car j’ai qqes parties de code dans chaque page.

Je voudrai donc protéger une page en indiquant en dur dans le code un nom d’utilisateur unique et un mot de passe unique. Je ne veux pas gérer d’espace personnalisé, juste un accès un peu “sécurisé”.

J’ai essayer de mettre en place quelques “scripts” que j’ai récup sur internet mais vraiment sans résultat.

Voilà ce que j’ai pour récup le login saisi et le mot de passe saisi ; ce bout de code est dans la page intermédiaire qui s’ouvre lorsque je clic sur le lien de page que je veux protéger :

<form action="login.php" method='post'>
<table align="center" border="0">

  <tr>
    <td>Password</td>
    <td><input type="text"name="pass" maxlength="10"></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" value="log in"></td>
  </tr>
</table>
</form> 

Je ne pense pas que le reste que j’ai testé soit nécesssaire car ça n’a jamais fonctionné.

Est-ce que vous pourriez donc me conseiller, m’indiquer peut etre un site ou je pourrai trouver mon bonheur sachant que je suis à l’ouest. :confused:

Merci à tous.

voici un petit script qui te permettra de proteger l’acces à ta page avec possibilité de mettre plusieurs utilisateurs et mot de passe.
je l’utilise pour securisé l’acces à l’acceuil de l’un de mes sites.

<html>

<head>
<meta name=“GENERATOR” content=“Microsoft FrontPage 5.0”>
<meta name=“ProgId” content=“FrontPage.Editor.Document”>
<meta http-equiv=“Content-Type” content=“text/html; charset=windows-1252”>
<title>Acces Tarif</title>
<head>
<title>Connexion &agrave; ‘Nom de votre site’</title>
<meta name=“generator” content=“Microsoft FrontPage 5.0”>
<script LANGUAGE=“JavaScript”>
function Login(){
var done=0;
var username=document.login.username.value;
var password=document.login.password.value;

"INDIQUE CI DESSOUS UTILISATEURS ET MOT DE PASSE + LIENS"

if (username=="UILISATEURuser1" && password=="MOT DE PASSEuser1") {
window.location="sommaire.htm";
}

if (username=="user2" && password=="user2") {
window.location="user2.html";
}

if (username=="user3" && password=="user3") {
window.location="user3.html";
}

if (username=="user4" && password=="user4") {
window.location="user4.html";
}

if (username=="vous" && password=="vous") {
// Vous pouvez réservez une page pour vous même(options, etc.)
window.location="vous.html";
}
}
</script><meta name="Microsoft Theme" content="classic 011, default">
</head>

<body background="_themes/classic/clabkgnd.gif" bgcolor="#000000" text="#FFFFFF" link="#CC0000" vlink="#666666" alink="#FFFFFF"><!–mstheme–><font face="Arial, Arial, Helvetica">

<div align="center"><!–mstheme–></font><table border cellpadding="3" width="225">
<tr>
<td colspan="2"><!–mstheme–><font face="Arial, Arial, Helvetica"><form name="login" method="get">
<p align="center"><font size="5"><b>Acces au Site</b></font><!–mstheme–></font></td>
</tr>
<tr>
<td><!–mstheme–><font face="Arial, Arial, Helvetica"><p>Pseudo:<!–mstheme–></font></td>
<td><!–mstheme–><font face="Arial, Arial, Helvetica"><p><input type="text" name="username" size="20"><!–mstheme–></font></td>
</tr>
<tr>
<td><!–mstheme–><font face="Arial, Arial, Helvetica"><p>Mot de passe:<!–mstheme–></font></td>
<td><!–mstheme–><font face="Arial, Arial, Helvetica"><p><input type="password" name="password" size="20"><!–mstheme–></font></td>
</tr>
<tr>
<td align="center" colspan="2"><!–mstheme–><font face="Arial, Arial, Helvetica"><p><input type="button" value="Validation!"
onclick="Login()"><!–mstheme–></font></td>
</tr>
</table><!–mstheme–><font face="Arial, Arial, Helvetica"></div>
</form>
<!–mstheme–></font></body>

</html>
<body background="_themes/classic/clabkgnd.gif" bgcolor="#000000" text="#FFFFFF" link="#CC0000" vlink="#666666" alink="#FFFFFF"><!–mstheme–><font face="Arial, Arial, Helvetica">

<!–mstheme–></font></body>

</html>

avec du javascript j’appelle pas ca de la sécurité :slight_smile:

Faut simplement que quand on valide un formulaire ca affiche la page et si username et password == alors on affiche ?


<?php
if ($_POST['Username'] == 'blabla' && $_POST['Password'] == 'xxxyyy')
{
?>
ta page html et 
<?
// éventuellement du code si tu as besoin :)
}
else
{
    echo '<p>Mauvais nom d'utilisateur / mot de passe, <a href="formulaire_indentification.php">essayer à nouveau</a></p>'
}
?>

C’est certainement pas le mieux, mais ca marche :slight_smile:

en effet c’est du javascript mais je ne savais pas de c’etait pour securiser des données tres sensibles…

en tout cas un utilisateur non averti ne saura pas contourner l’acces.
c’est un script pour les utilisateurs novices et pour des données non secret defense.

Bonne chance dans tes recherches.

ah oui j’oubliai j’ai d’autres script incontournable car utilisant un javaclass obligatoire.
mais je pense que vu ton point de vu sur le java, cela ne t’interessera pas.

ok, merci à tous pour vos conseils.

Je teste ça rapidement et je vous tiens au courant.

Merci encore.

Bonjour à tous.

J’ai donc utilisé le code de jbortol et ça marche très bien.

Comme expliqué, ça n’est pas très sécurisé car on peu saisir le lien directement et ça passe ou alors parfois il ne propose pas de saisir le mot de passe (probablement à cause de windows qui doit carder ça en chache…je sais pas).

C’est pour mettre sur un intranet de collège, ou y’a que des benets mais bon, je voudrai au moins que ça demande la login/pass systématiquement. Auriez vous une solution pour ça ?

Merci à tous.

Ludo.

J’en serais pas si sûr…

Moi si je vois un truc qui me résiste à l’école, je fait tout pour le contourner, parce que l’école c’est la mal :neutre:

Sinon un truc plus simple et déjà un petit peu plus dur à hacker

var username=document.login.username.value;
window.location= username + ".html";

dans tous les cas si on desactives javascript un script coté client ne vaut pas un clou(meme si actif)

le fait de désactiver javascript le rend pas plus sensible (dans ce cas)

Bah stocke un fichier en dehors de l’espace ( par exemple …/ ) et parse le.

oh là benj, pas tout compris ? suis encore à "my table is yellow" donc bon… :wink:

Nan, plus sérieux, je vois pas ce que tu veux dire, pourrai tu appronfondir s’il te plait ?

Merci encore.

Ludo.

PS : Nego, suis dans un collège, pas dans un lycée… collège de zep, pas collège privé et bon, les données sont pas très très sensibles. De plus, à mon sens, sans vouloir troller, les "pirates" dignent de ce nom ne sont pas au collège.

donc ma proposition de solution :

tu disposes d’une arborescence de fichiers /var/www/localhost/htdocs où un truc comme ça où htdocs est la racine de ton site web, c’est à dire que normalement tous (si on laisse de côté les .htdocs et autres restrictions) les fichiers contenus dans ce répertoire sont visibles sur le net.

Donc stocker un fichier contenant username + hash (sha1 par exemple) du mot de passe un répertoire plus haut empêcherait les gens de pouvoir y accéder. Après suffit de parcourir le fichier avec un chouilla de php et puis le tour est joué.