Page 1 sur 1

Problèmes d'includes sécurisés

Posté : 15 oct. 2006, 15:20
par Freddajo
Bonjour,
je suis en train de refaire mon site, et j'ai essayé de le simplifier avec du PHP. Seulement, le code que j'ai fait ne marche pas complètement et je pense que c'est dû à une erreur de syntaxe

<?php
if ( false !== strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );

	{require 'include/' . $_GET['page'].'.php';}

else {include('include/accueil.php');}
?>
Merci d'avance

Posté : 15 oct. 2006, 15:24
par Kevin66
if ( false !== strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );
Il y a un = de trop
if ( false != strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );

Posté : 15 oct. 2006, 16:20
par Freddajo
Visiblement, le problème ne vient pas de là puisque j'ai toujours l'erreur suivante :
Parse error: parse error, unexpected T_ELSE in C:\Program Files\wamp\www\index1.php on line 9

Posté : 15 oct. 2006, 16:22
par Yoda54
Bonjour,
Enlevez le point virgule qui conlut la ligne de votre if et il ne devrait plus y avoir de problème.

Posté : 15 oct. 2006, 16:29
par Ajoloca
Bonjour,
Et ceci
<?php
if ( false !== strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );
$page = 'include/' . $_GET['page'] . '.php';
   if (is_file($page){
      require ($page);
   }
   else {include('include/accueil.php');}
?>

Posté : 15 oct. 2006, 16:30
par Freddajo
Changement d'erreur, je tombe sur
Parse error: parse error, unexpected '{' in C:\Program Files\wamp\www\index1.php on line 7
Et si j'enlève les accolades de require , je trouve
Parse error: parse error, unexpected T_REQUIRE in C:\Program Files\wamp\www\index1.php on line 7

Posté : 15 oct. 2006, 16:33
par Invité
Euh Ajoloca, je n'ai vu ton message qu'après avoir posté, désolé

quand j'essaie ton code, ça me dit:
Parse error: parse error, unexpected '{' in C:\Program Files\wamp\www\index1.php on line 8
Sachant qu'à la ligne 8 j'ai ça :
if (is_file($page){
[/quote]

Posté : 15 oct. 2006, 16:43
par Ajoloca
Mille excuses, il manque une )
<?php
if ( false !== strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );
$page = 'include/' . $_GET['page'] . '.php';
if (is_file($page)){
require ($page);
}
else {include('include/accueil.php');}
?>

Posté : 15 oct. 2006, 16:47
par Freddajo
Mille excuses, il manque une )
<?php
if ( false !== strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );
$page = 'include/' . $_GET['page'] . '.php';
if (is_file($page)){
require ($page);
}
else {include('include/accueil.php');}
?>
Tes mille excuses ne sont rien à côté des mille merci que je te dois

Ca fonctionne parfaitement :wink: