Problèmes d'includes sécurisés

Freddajo
Invité n'ayant pas de compte PHPfrance

15 oct. 2006, 15:20

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

Eléphanteau du PHP | 10 Messages

15 oct. 2006, 15:24

if ( false !== strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );
Il y a un = de trop
if ( false != strpos( $_GET['page'].'.php', '..' ) ) die('Bien tente' );

Freddajo
Invité n'ayant pas de compte PHPfrance

15 oct. 2006, 16:20

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

Petit nouveau ! | 4 Messages

15 oct. 2006, 16:22

Bonjour,
Enlevez le point virgule qui conlut la ligne de votre if et il ne devrait plus y avoir de problème.

ViPHP
ViPHP | 1961 Messages

15 oct. 2006, 16:29

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');}
?>
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Freddajo
Invité n'ayant pas de compte PHPfrance

15 oct. 2006, 16:30

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

Invité
Invité n'ayant pas de compte PHPfrance

15 oct. 2006, 16:33

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]

ViPHP
ViPHP | 1961 Messages

15 oct. 2006, 16:43

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');}
?>
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Petit nouveau ! | 1 Messages

15 oct. 2006, 16:47

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: