Aller au contenu

Julien L.

Webmaster Régulier
  • Compteur de contenus

    66
  • Inscrit(e) le

  • Dernière visite

Messages postés par Julien L.

  1. Les noms/prénoms ayant l'initiale en majuscule, j'ai essayé de tripoter la règle, mais sans succès. ($search = '`affich_salar.php\?libelle=([Aa-z-]+),([Aa-z-]+),_[0-9]{4}`';)

    Par contre, que signifie le {4} ?

    <{POST_SNAPBACK}>

    $search = '`affich_salar.php\?libelle=([a-zA-Z]+),([a-zA-Z]+),_[0-9]{4}`';

    4 charactères répondant à la dernière expression soit : [0-9], donc 4 chiffres de 0 à 9.

  2. Bonjour

    Ensuite je dois payer 50 euros HT / mois pour l'hébergement.
    Où ?

    Sinon vous pouvez tenter la récup de pièces sur eBay, j'ai à la maison un bi-xeon, 2go, scsi, payé 400 EUR. Mais si c'est pour placer dans une ferme..

  3. <ul id="nav">
     <li id="photo"><a href="/photos" title="Portfolio photo">photos</a></li>
     <li id="graphik"><a href="/graphik" title="Portfolio Graphik">graphik</a></li>
     <li id="blog"><a href="http://www.graphikandsound.com" title="Go to Graphik'n'sound">graphikandsound.com</a></li>
    </ul>

    ..suffirait, modifie également ta feuille de style.

    Bouge simplement ce contenu dans ul#nav.

    #nav_bg {

    height: 30px;

    background: url(images/bg_haut.gif) no-repeat left #5c5c5c;

    margin: 0px;

    padding: 0px;

    }

  4. Soyons clair...j'ai dit ça moi ? :D

    Je précise au cas où le jeune homme serait belge, parceque ce n'est pas placardé sur les murs et qu'il faut en faire la demande (article 37 de quelquechose, voir les sites de l'inasti ou securex par exemple).

  5. En Belgique tu peux demander ton émancipation, ta majorité avant tes 18 ans, tu as alors tout les droits/devoirs d'un majeur. Mais c'est long, très long et ridicule si ton projet ne te rapporte pas de quoi vivre en totale autonomie (ou plutôt, assez que pour en tirer plus de bénéfice que ce que ton statut d'enfant à charge rapporte).

  6. Bonjour,

    Nous avons reçu aujourd'hui une attaque sur 720plan à partir

    de 1h00 du matin. Vers 13h00 l'attaque a saturé le système de

    répartition de l'hébergement mutualisé. Il s'agit de l'attaque

    de type synflood spoofé sur le port 80 en TCP avec une vitesse

    d'environ 100'000 syn/sec. Pour faire simple: 100'000 faux

    nouveaux visiteurs par seconde essaient de se connecter sur 720plan.

    L'attaque est maîtrisée depuis plusieurs heures et même si nous

    la recevons toujours, nous n'enregistrons plus de dégradation

    de service. Nous avons mis en place des filtrages efficaces qui

    permettent séparer les vraies visiteurs de vos sites de l'attaque.

    Explications techniques:

    --------------------------

    Ce type d'attaque fait parti des attaques les plus complexes à

    filtrer pour les hébergeurs, puisqu'il est difficile de distinguer

    la vraie connexion du vrai visiteur dans l'ouragan de toutes

    les fausses connexions. Nous avons déjà reçu ce type d'attaque à

    multiples reprises et depuis des années. C'est toujours un test

    que nous avons passé avec plus ou moins de succès à chaque fois.

    Depuis 2 ans environ, nous avons décidé prendre devant en passant

    le système de répartition de charge sur des cartes SLB de Cisco.

    L'objectif était de ne plus avoir à passer de test mais d'avoir

    une structure solide qui tient toutes les attaques. En effet, une

    carte SLB sait gérer 1'000'000 connexions simultanées et donc cela

    constitue une réponse au problème des attaques. Depuis la mise en

    production des cartes SLB, nous avons reçu déjà plusieurs dizaines

    d'attaques sur la carte SLB sans aucune dégradation sur la qualité

    du service. Les parades que nous avons mis en place grâce ces attaques

    précédentes ont permit contenir par exemple aujourd'hui l'attaque entre

    1h00 et 13h00. Mais l'attaque a été plus importante que les précédentes.

    En effet, elle a saturé la SLB à 1'000'000 connexions simultanées à

    13h00 et donc la SLB n'acceptait plus des nouvelles connexions pour

    l'ensemble des plans et des clients HA.

    2 problèmes nous ont trompé dans l'analyse et ont retardé la résolution

    du problème: ce Vendredi nous avons transféré le routage de l'hébergement

    mutualisé sur 2 nouveaux routeurs qui ne possèdent pas encore le système

    de détection d'attaque (il s'agissait d'un test de la future installation

    de routage de l'hébergement mutualisé qu'on prépare pour Juin et qui

    n'est pas encore fini). Nous avons dû remettre en place le routage

    standard en urgence ce qui a provoqué une coupure sur tout le réseau

    d'Ovh. Aussi, nous avons mis dans la SLB les nouveaux serveurs (sur le port

    81) en vue du futur changement de l'installation. La carte SLB s'est donc

    retrouvée avec 2 fois plus des serveurs que d'habitude à vérifier (en temps

    normal cela ne pose pas de problème) mais après un reboot, la carte n'arrivait

    pas tout vérifier et crash-ait immédiatement. Ces 2 problèmes de circonstances

    ont provoqué des retards anormales dans la gestion de l'attaque.

    Une fois ces problèmes résolus, nous avons mis en place des solutions en place.

    Actuellement l'attaque continue toujours mais il n'y a plus aucun problème

    sur aucun hébergement. L'attaque est vérifiée et filtrée en temps réel et

    les paramètres que nous avons mis en place permettent filtrer efficacement

    les vraies visiteurs de l'attaque.

    Même si nous ne sommes pas contents de nous pour la rapidité de résolution

    du problème, cette attaque a mis en évidence plusieurs points qui sont

    très encouragent:

    - La solution hardware que nous avons choisi (SLB de Cisco) permet gérer

      ce genre d'attaque avec succès, quelque soit la taille de l'attaque.

      Il suffit mettre en place les bons paramètres. Cela prend un peu de temps

      pour tester et trouver les bons paramètres en fonction de l'attaque, mais

      vu l'expérience d'aujourd'hui, nous pensons être capable d'adapter les

      paramètres sans dégradation du service dans le futur. La configuration que

      nous avons actuellement en production pour 720plan est déjà appliquée pour

      les autres plans et elle permet encaisser déjà une belle attaque.

    - La future installation qu'on est en train de préparer sera encore plus

      robuste que l'actuelle puisqu'elle permettra distribuer le risque d'une

      panne plan par plan. En effet, on prévoit d'utiliser une carte SLB par plan

      carrément. Si un plan est éventuellement attaquée et par des problèmes de

      circonstances, cela se passe mal, ce plan là uniquement connaîtra une

      dégradation de service.

    Ce n'est jamais un plaisir de recevoir une attaque, mais cela fait parti

    de notre travail de les gérer correctement. Nous ne sommes pas satisfait

    de l'expérience d'aujourd'hui. Il faut accepter de ne pas réussir à tous

    les coups. Si, vous ne recevez plus ce genre d'email que vous êtes en

    train de lire, ça sera la meilleur preuve que nos conclusions tiennent

    la route.

    Désolé pour les pannes d'aujourd'hui.

    Task:

      http://travaux.ovh.com/?do=details&id=899

    Amicalement

    Octave

  7. Bonsoir, essayez-ceci :

    <?PHP
    $type[]='null';
    $type[]='salut';
    $type[]='null';
    $type[]='petit';
    #Attention, le tableau commence a 0.
    #etc...

    for ($i=0; $i<=10; $i++)
    {
     if ($type[$i]!='null')
     {
       echo $type[$i];
     }
    }
    ?>

    Le problème : vous déclariez une variable ( $type1 ), mais cherchiez les valeurs dans un tableau ( $type[1] ), qui plus est, si vous utilisez une variable pour indiquer la position dans le tableau ( $type['$i'] ), il ne faut pas entourer $i de "simplequotes".

  8. <?PHP
    $repertoire='photos_galerie/veronique';

    if ($handle = opendir($repertoire)) {
     while (false !== ($x = readdir($handle))) {
         if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) {
              $picsa[]=$x;
         }
      }
      closedir($handle);
    }

    $pics = array_reverse($picsa);

    if(count($pics)>0){
    echo('<table id=\'pics\'><tr><td class=\'title\'>» pictures</td></tr><tr>');
    $tr=0;
          for($i=0; $i<count($pics); $i++){
                echo('<td><a href=\''.$repertoire.'/'.$pics[$i].'\'><img src=\''.$repertoire.'/'.$pics[$i].'\' alt=\''.$pic[$i].'\' title=\''.$pic[$i].'\' />[b]<br />'.substr($pics[$i],0,strlen($pics[$i])-4).'</a>[/b]</td>');
                $tr++;
                if($tr > 5){ echo('</tr><tr>'); $tr=0; }
           }
           echo('</tr></table>');
    }
    ?>

    Il vaudrait mieu repenser complètement l'architecture de l'affichage !

    J'ignore comment supprimer un fichier (sans passer par exec()) !

  9. Votre hébèrgement supporte-t-il PHP ?

    Les balises <?PHP (début du script) ?> (fin du script) sont-elles bien présentes ?

    Le fichier est-il bien nommé 'nimportequoi.php' ?

    Auriez-vous une adresse pour voir le résultat ?

    EDIT: Peut-être qu'ainsi ! Le répertoire était "hardcoded" dans le code d'affichage.

    <?PHP
    $repertoire='photos_galerie/veronique';

    if ($handle = opendir($repertoire)) {
     while (false !== ($x = readdir($handle))) {
         if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) {
              $picsa[]=$x;
         }
      }
      closedir($handle);
    }

    $pics = array_reverse($picsa);

    if(count($pics)>0){
    echo('<table id=\'pics\'><tr><td class=\'title\'>» pictures</td></tr><tr>');
    $tr=0;
          for($i=0; $i<count($pics); $i++){
                echo('<td><a href=\''.$repertoire.'/'.$pics[$i].'\'><img src=\''.$repertoire.'/'.$pics[$i].'\' alt=\''.$pic[$i].'\' title=\''.$pic[$i].'\' /></a></td>');
                $tr++;
                if($tr > 5){ echo('</tr><tr>'); $tr=0; }
           }
           echo('</tr></table>');
    }
    ?>

  10. <?PHP
    if ($handle = opendir('test')) {
      while (false !== ($x = readdir($handle))) {
          if ($x != '.' && $x != '..' && eregi("([.]gif)|([.]jpg)|([.]png)|([.]tga)", $x)) {
               $picsa[]=$x;
          }
       }
       closedir($handle);
    }

    $pics = array_reverse($picsa);

    if(count($pics)>0){
    echo('<table id=\'pics\'><tr><td class=\'title\'>» pictures</td></tr><tr>');
    $tr=0;
           for($i=0; $i<count($pics); $i++){
                 echo('<td><a href=\'pics/'.$pics[$i].'\'><img src=\'pics/'.$pics[$i].'\' alt=\''.$pic[$i].'\' title=\''.$pic[$i].'\' /></a></td>');
                 $tr++;
                 if($tr > 5){ echo('</tr><tr>'); $tr=0; }
            }
            echo('</tr></table>');
    }
    ?>

    Voila !

    P.S: attention, ce code affiche normalement des vignettes (stockées dans un autre répertoire), ici les images apparaitront taille réelle !

×
×
  • Créer...