Big problème php
yann5
Messages postés
398
Date d'inscription
Statut
Membre
Dernière intervention
-
A.Nonymous -
A.Nonymous -
Bonjour,
Sur mon site, j'obtient une erreur php. Voici mon code php :
<?php
if(isset($_GET['page']))
{
if($_GET['page']==youtube)
{
include("http://youtube.com/user/babla");
}
else
{
include("$_GET['page']");
}
else
{
include("news.php");
}
Le code html :
<a href="?page=youtube">
<a href="?page=com_jeu.php">
Pour moi je lis :
si on a cliqué sur un lien
si ce lien vaut youtube
afficher youtube
sinon
afficher la page demandée
si la variable n'existe pas
afficher les news
Merci pour votre aide
Sur mon site, j'obtient une erreur php. Voici mon code php :
<?php
if(isset($_GET['page']))
{
if($_GET['page']==youtube)
{
include("http://youtube.com/user/babla");
}
else
{
include("$_GET['page']");
}
else
{
include("news.php");
}
Le code html :
<a href="?page=youtube">
<a href="?page=com_jeu.php">
Pour moi je lis :
si on a cliqué sur un lien
si ce lien vaut youtube
afficher youtube
sinon
afficher la page demandée
si la variable n'existe pas
afficher les news
Merci pour votre aide
A voir également:
- Big problème php
- Macos big sur - Guide
- Hiberfil.sys too big - Guide
- Easy php - Télécharger - Divers Web & Internet
- Réinitialiser mac big sur - Guide
- Expert php pinterest - Télécharger - Langages
14 réponses
Oui. Mais je considère quand même que include($_GET['page']); est une faille de sécurité, c'est juste un conseil (car on peut visiter votre serveur avec, lire tout les fichiers même ceux qui sont dans un dossier protégé par .htaccess).
quand intervient ton problème php, lorsque tu clique sur le lien ou lorsque tu charge la première fois ta page ?
Tu peux déjà modifier une de tes conditions (car youtube est une chaine de caractère) :
Sinon tu peux aussi modifier cette ligne (il y a pas besoin des "):
Autre chose la ligne include($_GET['page']); est très dangereuse au niveau de la sécurité de ton site car l'utilisateur peut charger n'importe quel fichier présent sur ton serveur.
if($_GET['page']=="youtube")
Sinon tu peux aussi modifier cette ligne (il y a pas besoin des "):
include($_GET['page']);
Autre chose la ligne include($_GET['page']); est très dangereuse au niveau de la sécurité de ton site car l'utilisateur peut charger n'importe quel fichier présent sur ton serveur.
Mais non, tu peux pas inclure une page qui n'est pas sur ton domaine.
Si ton site est tartampion.com, tu ne pourra pas faire d'include sur monvoisin.com, mais seulement sur tartampion.com => voilà pourquoi tu as cette erreur.
Youtube tu donnes les codes à insérer; c'est des embed car c'est du flash.
Si ton site est tartampion.com, tu ne pourra pas faire d'include sur monvoisin.com, mais seulement sur tartampion.com => voilà pourquoi tu as cette erreur.
Youtube tu donnes les codes à insérer; c'est des embed car c'est du flash.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est pas ça que je veux dire par exemple tu as un dossier admin protégé par un .htaccess.
Ton utilisateur pourra accéder à la page d'index de admin sans problème (il va taper ?page=admin%2Findex.php) il peut même remonter au dossier parent si admin et dans le dossier parent en tapant : ?page=..%2Fadmin%2Findex.php.
Même si admin et protégé par un .htaccess, php y a quand même accès.
Ton utilisateur pourra accéder à la page d'index de admin sans problème (il va taper ?page=admin%2Findex.php) il peut même remonter au dossier parent si admin et dans le dossier parent en tapant : ?page=..%2Fadmin%2Findex.php.
Même si admin et protégé par un .htaccess, php y a quand même accès.
Oui.
Moi ce que je veux dire c'est que:
include("http://youtube.com/user/babla");
est totalement impossible, sauf si tu t'appel Google ou Youtube...
Moi ce que je veux dire c'est que:
include("http://youtube.com/user/babla");
est totalement impossible, sauf si tu t'appel Google ou Youtube...
Benvii +1: je suis tout à fait d'accord avec toi.
Je répondais en fait à son problème et pas à ton intervention ;-)
Je répondais en fait à son problème et pas à ton intervention ;-)
je sais que c nul pour la sécurité mais c pour du test
pis je veu inclure la page youtube pour toujours rester sur le site
car la page youtube : http://www.youtube.com/wakstep je me suis arrangé
pis je veu inclure la page youtube pour toujours rester sur le site
car la page youtube : http://www.youtube.com/wakstep je me suis arrangé
<?php
if(isset($_GET['page']))
{
if($_GET['page']==youtube)
{
echo "Veuillez cliquez sur ce lien "
?>
<a href="http://www.youtube.com/wakstep">...</a>
<?php
}
elseif(isset($_GET['page']))
{
if($_GET['page'] != youtube)
{
include($_GET['page']);
}
}
else
{
include(news.php);
}
?>
voila le nouveau code mais erreur sur la ligne 160 qui est
</html>
ça signifie ?
if(isset($_GET['page']))
{
if($_GET['page']==youtube)
{
echo "Veuillez cliquez sur ce lien "
?>
<a href="http://www.youtube.com/wakstep">...</a>
<?php
}
elseif(isset($_GET['page']))
{
if($_GET['page'] != youtube)
{
include($_GET['page']);
}
}
else
{
include(news.php);
}
?>
voila le nouveau code mais erreur sur la ligne 160 qui est
</html>
ça signifie ?
C'est parce que tu n'as pas fermé la première condition, donc tu rajoutes un } :
<?php if(isset($_GET['page'])) { if($_GET['page']==youtube) { echo "Veuillez cliquez sur ce lien " ?> <a href="http://www.youtube.com/wakstep">...</a> <?php } elseif(isset($_GET['page'])) { if($_GET['page'] != youtube) { include($_GET['page']); } } else { include(news.php); } } ?>
Hum je sais pas car on n'a pas ta ligne avec </html>... mais j'ai une question:
est-ce que ce que tu veux faire c'est ça:
<?php
if (( isset($_GET['page'] )) && ( $_GET['page'] == "youtube" ))
{ echo'Veuillez cliquez sur ce lien <a href="http://www.youtube.com/wakstep">...</a>' ; }
else if (( isset($_GET['page'] )) && ( $_GET['page'] != "youtube" ))
{ include($_GET['page']); }
else { include(news.php); }
?>
Je trouve ça un peu plus clair bien qu'on puisse faire certainement mieux en sachant vraiment qu'elle est ton but.
est-ce que ce que tu veux faire c'est ça:
<?php
if (( isset($_GET['page'] )) && ( $_GET['page'] == "youtube" ))
{ echo'Veuillez cliquez sur ce lien <a href="http://www.youtube.com/wakstep">...</a>' ; }
else if (( isset($_GET['page'] )) && ( $_GET['page'] != "youtube" ))
{ include($_GET['page']); }
else { include(news.php); }
?>
Je trouve ça un peu plus clair bien qu'on puisse faire certainement mieux en sachant vraiment qu'elle est ton but.
merci imacity ça marche mais j'ai du corriger pleins d'erreurs dans ton code :
<?php
if (isset($_GET['page']) AND ($_GET['page'] == "youtube"))
{
echo "Veuillez cliquez sur ce lien <a href=\"http://www.youtube.com/wakstep\">...</a>";
}
elseif (isset($_GET['page']) AND ($_GET['page'] != "youtube"))
{
include($_GET['www/page.php']);
}
else
{
include("www/admin/news.php");
}
?>
<?php
if (isset($_GET['page']) AND ($_GET['page'] == "youtube"))
{
echo "Veuillez cliquez sur ce lien <a href=\"http://www.youtube.com/wakstep\">...</a>";
}
elseif (isset($_GET['page']) AND ($_GET['page'] != "youtube"))
{
include($_GET['www/page.php']);
}
else
{
include("www/admin/news.php");
}
?>
Pas d'accord; Je t'accorde la parenthèse à la 5ème ligne, mais j'ai écris ça à la vavite aussi. Pour le reste c'est choux vert et vert choux:
echo"blabla\"ok\"?";
peut s'écrire plus simplement:
echo'blabla"ok"?';
echo fonctionne avec des simples quote ou des guillemets... à toi de savoir jongler en les utilisant.
Quant à "&&" c'est la même chose que "AND".
La chose positive c'est que ça t'a mis sur la voix de quelque chose de moins affreux que ce que tu nous as mis dans ton premier message ;-)
echo"blabla\"ok\"?";
peut s'écrire plus simplement:
echo'blabla"ok"?';
echo fonctionne avec des simples quote ou des guillemets... à toi de savoir jongler en les utilisant.
Quant à "&&" c'est la même chose que "AND".
La chose positive c'est que ça t'a mis sur la voix de quelque chose de moins affreux que ce que tu nous as mis dans ton premier message ;-)
Humpf ....
<?php
$param = !empty($_GET['page'])?(string)$_GET['page']:'news.php';
switch( $param )
{
case 'youtube':
header("Location: http://www.youtube.com/wakstep");
break;
default:
if( file_exists( './' . basename($param ) )
{
include( $param );
}else{
include('news.php');
}
break;
}
?>
Pas parfait, mais mieux qu'un include($_GET['page']), qui est vraiment à bannir
<?php
$param = !empty($_GET['page'])?(string)$_GET['page']:'news.php';
switch( $param )
{
case 'youtube':
header("Location: http://www.youtube.com/wakstep");
break;
default:
if( file_exists( './' . basename($param ) )
{
include( $param );
}else{
include('news.php');
}
break;
}
?>
Pas parfait, mais mieux qu'un include($_GET['page']), qui est vraiment à bannir