Forum Programmation.php migration foireuse...

Posté par .
Tags : aucun
0
16
jan.
2005
Bonjour,

Voila, j'ai voulu migrer de apache vers apache2 (debian sarge), et depuis, mon site ne marche plus correctement. (meme si je retourne en apache1).

J'ai aussi migré mysql vers mysql-4.1, mais l'erreur ne peut pas venir de la (ou alors, il faut qu'on m'explique...)

Voila, l'adresse de mon site : http://zerandka.no-ip.org/~zerbro/(...)

Le problème est que les liens ne marchent plus. Voila, en gros, comment c'est fait :
J'ai du remplacer les crocher par de { }, sinon, rien ne passe...


if (!isset($page))
{
$page = "./Home/home" ;
}

$page .= ".php" ;

[...]

{div class="menubar"}
| {a href="./"} Home {/a} |
{a href="?page=./CV/cv"}CV{/a} |
{a href="?page=./Work/work"}Work{/a} |
{a href="?page=./Musique/musique"}Musique{/a} |
{a href="?page=./Photo/photo"} Photos {/a} |
{a href="?page=./Blog/blog"} Blog {/a} |
{/div}


[ ... ]

{? echo " page : $page" ; ?} ;
{? include($page) ; ?} ;

[...]



Voila, et la variable "page" ne change plus... (le contenu est affiché sur le site pour debug)

Si quelqu'un peut m'aider, je lui en serait tres reconaissant. Je ne sais pas si ca vient de la config d'apache2/php4 ou d'autre chose... Ou alors un moyen que ca remarche... (mon but est juste que ca remarche, je n'ai pas vocation a devenir webmestre, admin ou developpeur web).

Merci !
  • # php.ini

    Posté par (page perso) . Évalué à 1.

    apache2 a peut-être modifier tes réglages php,

    pour moi ça sent le moteur php qui n'initialise pas les variables depuis la QUERY_STRING.

    je crois que c'est géré par register_global dans le php.ini
    • [^] # Re: php.ini

      Posté par . Évalué à 1.

      Merci beaucoup !

      C'etait en effet ca, la variable etait sur off. J'ai réglé à on, et tout remarche.
      • [^] # Re: php.ini

        Posté par . Évalué à 2.

        Il est peut être mieux de faire
        $page=$_GET["page"];
        En effet, en cas de changement d'hébergeur (on sait jamais), tu seras pas emmerdé : il y a pas mal d'hébergeurs où register_globals n'est pas activé...
        • [^] # Re: php.ini

          Posté par (page perso) . Évalué à 2.

          Sans compter les problèmes de sécurité, etc.
          • [^] # Re: php.ini

            Posté par . Évalué à 2.

            Quels problème cela peut-il poser ? J'ai du mal à l'imaginer...
            • [^] # Re: php.ini

              Posté par . Évalué à 3.

              imagine une variable non initialisée dans le code, pour une raison xy, et que tu suppose ne rien contenir, genre

              if (bidou){
              $toubidou="bla";
              }

              print $toubidou;

              toubidou reste initialisée si non(bidou)

              suppose que c'set le comportement que tu veuille obtenir, et qu'un petit malin mette un petit ?toubiou="truc" dans son url, et ben là elle sera plus du tout pas initialisée.

              c'est encore plus dangereux si t'as un "eval($toubidou)" dans ta page et que l'url c'est ?toubidou="rm -rf /" ;)
              • [^] # Re: php.ini

                Posté par . Évalué à 2.

                Ça me semble tout de même difficilement utilisable : ça nécessite une vraie connaissance de la page web attaquée...
                Par contre pour la faille include c'est plus simple à exploiter : on la voit dans l'URL...
                • [^] # Re: php.ini

                  Posté par . Évalué à 3.

                  Ne fais pas de la sécurité par l'obscurité ... ca n'apporte jamais rien de bon
                  • [^] # Re: php.ini

                    Posté par . Évalué à 2.

                    Bien sûr !
                    Mais j'aimerais savoir s'il est possible d'attaquer une page totalement inconnue via cette faille potentielle...
  • # faille include

    Posté par (page perso) . Évalué à 2.

    ça sent la faille include a plein nez ton histoire ...

    cf. par exemple http://linuxfr.org/~colinleroy/16707.html(...)
    • [^] # Re: faille include

      Posté par . Évalué à 3.

      Je peux te fournir une solution "clé en mains" si tu veux :) (mise en oeuvre sur mon site : sommaire auto généré, pas de faille include, des URL propres, XHTML compliant...)
    • [^] # Re: faille include

      Posté par . Évalué à 2.

      Merci beaucoup,

      J'ai rajouté un open_base_dir dans php.ini et j'ai mis allow_url_fopen à off.

      S'il y a d'autres trucs a faire, dites le moi, vous seriez bien urbain.

      Après, comme je l'ai dis, je ne suis ni admin, ni developpeur web. J'ai fais un site perso pour voir ce que c'était que le css, le html et le php vite fait. D'ailleur, je remercie un pot (qui se reconnaitra s'il lit le message) pour toutes les fonctions qu'il m'a donné :)

      Apres ca d'ailleur, je suis convaincu que je veux vraiment pas faire ce genre de boulot ! Et ca tombe bien, je n'ai pas fais grand chose
      pour :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.