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'ai
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
A tout hasard voici le code :
index.html
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>
Et celui des scripts des répertoires :
Config :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");
?>
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
<?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();
?>
Et celui dans config :auth-config.php !
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;
?>
Apparemment, c'est pas le dernier qui gène !

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.