IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] bug script & protection code


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut [Tableaux] bug script & protection code
    Bonjour(soir) a tous,

    j'ai créé 2 fonctions 1 : cryptage de données / 2 : décryptage de données ...
    le cryptage fonctionne correctement, cependant le decryptage merde de temps en temps...explications d'ou ca merde :
    j'ai un array qui contient l'alphabet (appellons le $abc[...])
    et je veux comparer une valeur d'un autre array (appellons $test[...])
    $b est la taille de mon $abc[...]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $j=0;
    $flag=0;
    while($flag!=1)
    {
     if($test[999]==$abc[$j])
     {
      $x=$j;
      $flag=1;
     }
     else
     {
     if($j>$b)
     {
      echo 'Probleme.<BR />Le script a ete interrompu.';
      exit;
     }
     $j++;
     }
    }
    999 est la valeur a comparer...(fake évidament ici ^^)
    "Notice: Undefined variable: test in c:\program files\easyphp1-8\www\cryptage\fonctions.php on line 176"
    ligne 176 => if($test[999]==$abc[$j])
    seulement, ca me le fait pas tout le temps ...
    si j'ai pas été clair, dites le moi....
    _________________________________________________
    2ème point : je souhaiterais mettre en ligne ces fonctions : qu'on puisse faire appel a elles via include, require ect...
    mais je ne veux pas que l'on puisse voire le code (question de sécurité pour les clients)... comment faire ?

    merci d'avance pour vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Points : 50
    Points
    50
    Par défaut
    Salut,

    Pour ton script les notices sont juste du au fait que tes variables sont pas définies plus haut... en ajoutant leur définition plus haut tu devrais pas avoir de notice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $j=0;
    $flag=0;
    $test = 0;
    $abc = 0;
    while($flag!=1)
    {
     if($test[999]==$abc[$j])
     {
      $x=$j;
      $flag=1;
     }
     else
     {
     if($j>$b)
     {
      echo 'Probleme.<BR />Le script a ete interrompu.';
      exit;
     }
     $j++;
     }
    }
    En ce qui concerne le 2eme point, le code n'est pas visible de l'extérieur puisque n'importe quelle requête effectuée sur cette page sera interprété en PHP, étant donné que celui-ci s'exécute coté serveur.

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut
    salut,
    en ce qui conserne la définition des variables, ca fonctionne (je savais pas qu'il fallait initier des variables ... je pensais que ca le faisait tout seul comme un grand)
    mais nouveau problem : il me parcourt l'alphabet $abc[] sans trouver l'égalité $test[]=$abc[]
    comme il incrémente $j, il sort de mon array, donc il gueule...

    sinon, c'était pour savoir si on pouvait pallier a des "aspireurs" de sites ou autre... (je ne suis pas un hacker, je m'y connais pas trop)

    merci de ta réponse en tout cas, je continu mes recherches ...:/

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    A quoi servent tes variables $j, $x et $b ? que vaut test[999] ? Bref, détailles un peu mieux s'il te plait sinon on va avoir du mal.

  5. #5
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut
    ahaha, mdr, après le bout de code que je vous ai montré, j'ai fais un
    echo $x; exit;
    ca fonctionne, pourtant, la variable qui merde ($test) est situé AVANT le exit; ....
    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $j=0;
    $flag=0;
    while($flag!=1)
    {
    if($test[999]==$abc[$j])
    {
    $x=$j;
    $flag=1;
    }
    else
    {
    if($j>$b)
    {
    echo 'Probleme.<BR />Le script a ete interrompu.';
    exit;
    }
    $j++;
    }
    }
    echo $x; exit; //OK !
    => pas de message d'erreur...et $x est OK !

    sinon, pour Raideman : $j sert a parcourir mon array (alphabet), $x est une valeur dont je me sers plus tard (osef a ce stade), $b est la taille de mon alphabet $abc[...] et mon $test[999] est une valeur que je veux retrouver tout betement dans mon alphabet ....

    ca DEVRAIT fonctionner bouhouhouhou....

  6. #6
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut
    bon, il y a du new ... mais pas du bon
    j'ai changé de technique : je parcourt entièrement le tableau $abc.. mis le pb, est qu'il me parcourt 2 fois le tableau ...o_O
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for($j=0; $j<=$b; $j++)
    {
    if($test[999]==$abc[$j])
    {
    $x=$j;
    }
    if($j>$b)
    {
    echo 'Probleme.<BR />Le script a ete interrompu.';
    exit;
    }
    }
    echo $x;
    il m'affiche bien $x.... mais derrière, il m'affiche "Notice: Undefined variable: x in g:\easyphp1-8\www\cryptage\fonctions.php on line 185"
    ligne 185 : echo $x;
    c'est quoi ce bordel .... !!!!!!!

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut
    une petite relance parceque ca commence a me gaver...
    j'arrives pas a lire un ****** de tableau, j'ai réécris 2 fois cette partie de code différament... et je vousdrais bien savoir pourquoi ca merde !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Bug dans un code perso
    Par tom06440 dans le forum Langage
    Réponses: 1
    Dernier message: 02/07/2006, 13h38
  2. [Tableaux] Recherche LIKE dans le code Html
    Par lunick dans le forum Langage
    Réponses: 1
    Dernier message: 22/06/2006, 14h40
  3. Recherche script formattant du code HTML
    Par Yobs dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 22/05/2006, 16h55
  4. [Tableaux] Retour chariot pour un code HTML propre
    Par beastman007 dans le forum Langage
    Réponses: 10
    Dernier message: 09/03/2006, 18h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo