Bonjour à tous,
Comme il fallait que je protège l'accès de mon site, étant chez Free, avec htaccess et .htpasswd il y a eu trop de prb, donc, je me suis rabattu sur du php.
J'ai essayé en local et tout était parfait, donc, j'ai transféré !
Et c'est là le hic !
En effet, lorsque j'appelle le site, j'ai bien la demande du login et du pwd, mais quand je valide voilà ce que j'aiA tout hasard voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Warning: session_start() [function.session-start]: open(/mnt/102/sda/0/2/sabrimi/sessions/sess_c0d9c45888d719dc639a23358d642b10, O_RDWR) failed: No such file or directory (2) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 30 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/102/sda/0/2/sabrimi/templates/auth.php:30) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 30 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/102/sda/0/2/sabrimi/templates/auth.php:30) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 30 Warning: Cannot modify header information - headers already sent by (output started at /mnt/102/sda/0/2/sabrimi/templates/auth.php:30) in /mnt/102/sda/0/2/sabrimi/templates/auth.php on line 36 Warning: Unknown(): open(/mnt/102/sda/0/2/sabrimi/sessions/sess_c0d9c45888d719dc639a23358d642b10, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/102/sda/0/2/sabrimi/sessions) in Unknown on line 0
index.htmlEt celui des scripts des répertoires :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <table> <tr> <td>Login :</td><td><input name="login" /></td> </tr> <tr> <td>Mot de passe :</td><td><input type="password" name="passwd" /></td> </tr> <tr><td colspan="2" align="center"><input type="submit" value="Login !"></td></tr> </table>
Config :Templates "auth.php" :Templates "auth.php" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php function CheckUser($login,$md5) { if($login=="xxxxxxxxxxxxi" && $md5=="xxxxxxxxxxxxxxxxxxxxx") // MD5 de xxxxxxx return true; return false; } ?> <?php if(!isset($_POST['md5'])) { header("Location: ../index.html"); die(); } $md5=$_POST['md5']; if(!isset($_POST['login'])) { header("Location: ../index.html"); die(); } $login=$_POST['login']; if(!CheckUser($login,$md5)) { header("Location: ../index.html"); die(); } session_start(); $_SESSION['last_access']=time(); $_SESSION['ipaddr']=$_SERVER['REMOTE_ADDR']; $_SESSION['user']=$login; header("Location: ../index.php"); ?>Et celui dans config :auth-config.php !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php include "config/auth-config.php"; session_start(); if(!isset($_SESSION['last_access']) || !isset($_SESSION['ipaddr']) || !isset($_SESSION['user'])) { header("Location: index.html"); die(); } if(time()-$_SESSION['last_access']>$session_timeout) { unset($_SESSION['last_access']); unset($_SESSION['user']); unset($_SESSION['ipaddr']); header("Location: index.html"); die(); } if($_SERVER['REMOTE_ADDR']!=$_SESSION['ipaddr']) { unset($_SESSION['last_access']); unset($_SESSION['user']); unset($_SESSION['ipaddr']); header("Location: index.html"); die(); } $_SESSION['last_access']=time(); ?>Apparemment, c'est pas le dernier qui gène !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php // Configuration du site // Timeout pour 5 min d'inactivite $session_timeout=300; ?>
Je vous remercie de votre aide pour me dire ce que je dois faire.
Ah oui, il faut que je précise.
Pour que ça marche bien, j'ai du renommer "login.php" en 'index.html" et pour le site "index.html" en "index.php", pour que la page du login/pwd s'affiche en premier.








Répondre avec citation








Partager