Bonjour,
je viens de changer de serveur récemment php4 -> php5 et register global à off et j'avais mis en place un script de protection qui marchait bien et qui était suffisant pour l'usage que j'en faisait.
Hors depuis le changement celui ne fonctionne plus et je ne sais plus ou je l'ai trouvé Il me fait apparaitre un popup d'alerte sur FF3 qui dit "The URL is not valid and cannot be loaded." et sur IE rien
L'appel pour la protection d'une page se fait simplement avec un include genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<?php
include "password.php";
?>
Voici le code de la page password.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 
<?php
session_start();
 
$admin_user_name = "admin";
$admin_password = "pass";
//you can change the username and password by changing the above two strings 
 
if (!isset($HTTP_SESSION_VARS['user'])) {
 
	if(isset($HTTP_POST_VARS['u_name'])) 
		$u_name = $HTTP_POST_VARS['u_name'];
 
	if(isset($HTTP_POST_VARS['u_password'])) 
		$u_password = $HTTP_POST_VARS['u_password'];
 
	if(!isset($u_name)) {
		?>
		<HTML>
		<HEAD>
		<TITLE><?php echo $HTTP_SERVER_VARS['HTTP_HOST']; ?> : Authentication Required</TITLE>
		</HEAD>
		<BODY bgcolor=#ffffff>
		<table border=0 cellspacing=0 cellpadding=0 width=100%>
			 <TR><TD>
			 <font face=verdana size=3><B><center>Access Restricted to Authorized Personnel !</center></b> </font></td>
			 </tr></table>
		<P></P>
		<font face=verdana size=2>
		<center>
		<?php
		$form_to = "http://$HTTP_SERVER_VARS[HTTP_HOST]$HTTP_SERVER_VARS[PHP_SELF]";
 
		if(isset($HTTP_SERVER_VARS["QUERY_STRING"]))
		$form_to = $form_to ."?". $HTTP_SERVER_VARS["QUERY_STRING"];
 
		?>
		<form method=post action=<?php echo $form_to; ?>>
		<table border=0 width=350>
		<TR>
		<TD><font face=verdana size=2><B>User Name</B></font></TD>
		<TD><font face=verdana size=2><input type=text name=u_name size=20></font></TD></TR>
		<TR>
		<TD><font face=verdana size=2><B>Password</B></font></TD>
		<TD><font face=verdana size=2><input type=password name=u_password size=20></font></TD>
		</TR>
		</table>
		<input type=submit value=Login></form>
		</center>
		</font>
		</BODY>
		</HTML>
 
		<?php
		exit;
	}
	else {
 
		function login_error($host,$php_self) {
			echo "<HTML><HEAD>
			<TITLE>$host :  Administration</TITLE>
			</HEAD><BODY bgcolor=#ffffff>
			<table border=0 cellspacing=0 cellpadding=0 width=100%>
				 <TR><TD align=left>
				 <font face=verdana size=2><B> &nbsp;You Need to log on to access this part of the site! </b> </font></td>
				 </tr></table>
			<P></P>
			<font face=verdana size=2>
			<center>";
 
			echo "Error: You are not authorized to access this part of the site! 
			<B><a href=$php_self>Click here</a></b> to login again.<P>
			</center>
			</font>
			</BODY>
			</HTML>";
			session_unregister("adb_password");
			session_unregister("user");
			exit;
		}
 
		$user_checked_passed = false;
 
 
		if(isset($HTTP_SESSION_VARS['adb_password'])) {
 
			$adb_session_password = $HTTP_SESSION_VARS['adb_password'];
 
			if($admin_password != $adb_session_password) 
				login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
			else {
				$user_checked_passed = true;
			}
		}
 
 
		if($user_checked_passed == false) {
 
			if(strlen($u_name)< 2) 
				login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
 
			if($admin_user_name != $u_name) //if username not correct
				login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);		
 
			if(isset($admin_password)) {
 
				if($admin_password == $u_password) {
 
					session_register("adb_password");
					session_register("user");
 
					$adb_password = $admin_password;
					$user = $u_name;
				}
				else { //password in-correct
					login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
				}
			}
			else {
				login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
			}
 
			$page_location = $HTTP_SERVER_VARS['PHP_SELF'];
			if(isset($HTTP_SERVER_VARS["QUERY_STRING"]))
			$page_location = $page_location ."?". $HTTP_SERVER_VARS["QUERY_STRING"];
 
			header ("Location: ". $page_location);
		}
	}
}
?>
Si vous aviez des pistes ou une explication parce que je comprend pas trop ce qui ne va pas. Merci d'avance