this article does not pass the security level.

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] this article does not pass the security level.

    Bonjour,

    Si je recherche la largeur de l'écran auquel accèdent mes pages, mon code marche bien, je le donne à titre d'exemple
    Code:
    {source}
    <?php
    if(!isset($_GET['ret'])) {
    $var1 = $_GET['option'];
    $var2 = $_GET['view'];
    $var3 = $_GET['id'];
    $var4 = $_GET['catid'];
    $var5 = $_GET['Itemid'];
    echo "<script language=\"JavaScript\">
    <!--
    document.location=\"$REQUEST_URI?option=$var1&view =$var2&id=$var3&catid=$var4&Itemid=$var5&ret=1&Lar geur=\"+screen.width+\"&Hauteur=\"+screen.height;
    //-->
    </script>";
    }
    else {
    if(isset($_GET['Largeur'])) {
    $var1 = $_GET['Largeur'];
    $coef = (1/1680)*$var1;
    //echo "Line 220 coef = $coef<br />";
    }
    }
    ?>
    {/source}
    Ce code s'exécute comme attendu.
    Mais l'intérêt ce n'est pas d'avoir la largeur de l'écran, mais la largeur de la fenêtre dans laquelle s'affichera la page.
    J'ai écrit le code javascript suivant :

    Code:
    {source}
    <?php
    if(!isset($_GET['ret'])) {
    $var1 = $_GET['option'];
    $var2 = $_GET['view'];
    $var3 = $_GET['id'];
    $var4 = $_GET['catid'];
    $var5 = $_GET['Itemid'];
    echo "<script language=\"JavaScript\">
    <!--
    function getWindowHeight() {
    var windowHeight=0;
    if (typeof(window.innerHeight)=='number') {
    windowHeight=window.innerHeight;
    } else {
    if (document.documentElement&& document.documentElement.clientHeight) {
    windowHeight = document.documentElement.clientHeight;
    } else {
    if (document.body&&document.body.clientHeight) {
    windowHeight=document.body.clientHeight;
    }
    }
    }
    return windowHeight;
    }
    function getWindowWidth() {
    var windowWidth=0;
    if (typeof(window.innerWidth)=='number') {
    windowWidth=window.innerWidth;
    } else {
    if (document.documentElement&& document.documentElement.clientWidth) {
    windowWidth = document.documentElement.clientWidth;
    } else {
    if (document.body&&document.body.clientWidth) {
    windowWidth=document.body.clientWidth;
    }
    }
    }
    return windowWidth;
    }
    
    ny=getWindowHeight();
    nx=getWindowWidth();
    document.location=\"$REQUEST_URI?option=$var1&view =$var2&id=$var3&catid=$var4&Itemid=$var5&ret=1&Lar geur=\"+getWindowWidth()+\"&Hauteur=\"+getWindowHe ight();
    //-->
    </script>";
    }
    else {
    if(isset($_GET['Largeur'])) {
    $var1 = $_GET['Largeur'];
    $coef = (1/1680)*$var1;
    //echo "Line 220 coef = $coef<br />";
    }
    }
    ?>
    {/source}
    L’exécution de la page m'envoie dans le "view-soucce" le message suivant :

    Code HTML:
    <!-- Comment - Sourcerer: The code has been removed, because the owner of this article does not pass the security level. -->
    <!-- Comment - Sourcerer: The code has been removed, because the owner of this article does not pass the security level. -->


    Qu'ai-je fait de travers ? Merci de venir à mon secours.
    Bien cordialement.

  • #2
    Il semblerait que le problème soit lié aux droits de l'auteur de l'article, insuffisants pour insérer du code avec Sourcerer.
    Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
    Confucius

    Commentaire


    • #3
      je ne le pense pas car le premier code Sourcerer donné fonctionne sans histoire et j'en use dans d'autres pages sans problème.

      mais c'est la première fois que je fais appel à "function" de javascript entre les balises {source} et {/source}

      Bien cordialement

      Commentaire


      • #4
        Bonjour,

        Juste une petite remarque : dans la mesure où vous avez mis votre code javascript entre <!-- et --> il s'agit uniquement d'un commentaire, donc qui n'est pas interprété et votre script est vide.

        Est-ce vous qui l'avez mis ou sourcerer ?

        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Bonjour Pascal,

          je confirme que dans la première séquence de codes, bien qu'entant entre <-- et -->, l’instruction javascript
          " document.location="$REQUEST_URI?option=$var1&view =$var2&id=$var3&catid=$var4&Itemid=$var5&ret=1&Lar geur="+screen.width+"&Hauteur="+screen.height; "
          fonctionne.

          j'en ai pour preuve « si donne l'adresse Web " http://www.fnautpaysmaures.com/?opti...article&id=304 " on récupère bien sur la ligne d'adresse :
          " http://www.fnautpaysmaures.com/?opti...0&Hauteur=1050 "
          ce qui était attendu : les dimensions de l'écran sont bien passées à la page »

          Ce que je ne comprends pas c'est que la seconde séquence de codes pour obtenir les dimensions de la fenêtre donne une violation de sécurité.

          je vais néanmoins retirer ces deux marqueurs de commentaires pour HTLM.

          Merci de m'éclairer et bien cordialement

          Commentaire


          • #6
            Bonsoir,

            Je viens de faire un test (en Joomla 3.9.21/PHP 7.4.9/Sourcerer 8.4.1 gratuite) et votre syntaxe semble fonctionner. Pas de message d'erreur.

            J'ai corrigé les espaces dans votre commande et mis les variables au lieu de l'appel des fonctions :

            Code PHP:
            document.location="$REQUEST_URI?option=$var1&view=$var2&id=$var3&catid=$var4&Itemid=$var5&ret=1&Largeur="+nx+"&Hauteur="+ny
            Dans la version actuelle du plugin sourcerer, il y a 2 options qui pourraient vous bloquer :
            - Autoriser Javascript (je pense qu'il est à oui dans votre cas puisque votre 1er exemple fonctionne
            - Fonctions PHP interdites : vérifiez si, dans votre liste, il n'y a pas l'une des commandes que vous utilisez dans votre script.

            Pascal

            PS: dans la version Pro de Sourcerer, il y a plus de contrôles de sécurité...
            If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

            Commentaire


            • #7
              Bonjour Pascal,
              je vous remercie de l'énergie que vous développez pour résoudre mon problème.

              je ne comprends pas les espaces qui étaient présents dans la copie du code car il n'y en a pas sur l'original. Ceci est un détail je pense que c'est le copier-coller qui les a introduits.

              J'ai remplacé la ligne du " document.location " par celle que vous m'avez donnée :

              Le résultat est le même à l’exécution

              Code HTML:
              <!-- Comment - Sourcerer: The code has been removed, because the owner of this article does not pass the security level. -->
              Étant donné que le code tourne avec votre test, il ne reste qu'une alternative :
              • soit une instruction est interdite par PHP
              • soit le sourcerer que j'utilise ne l'autorise pas
              Malgré ma très longue expérience en informatique, il faut resté modeste, car j'ai encore beaucoup à apprendre pour suivre l'évolution.

              Le problème c'est que :
              • je ne sais pas où se cache la liste des instructions interdites par PHP,
              • je ne connais pas la version du sourcerer que j'utilise...
              • ni comment le remplacer par la sourcerer 8.x.
              J'ai tendance à penser que c'est le sourcerer qui a provoquer l'erreur.

              Il me semble cependant que nous ayons progressé.
              Qu'en pensez-vous ?

              Bien cordialement.

              Commentaire


              • #8
                Rebonjour Pascal,

                En effectuant un recherche par Windows sur la copie locale j'ai trouvé la version du sourcerer utilisé :
                Sourcerer version 2.4.8.
                Je pense qu'il faut refaire l'essai avec un version plus récente de sourcerer.

                bien cordialement.

                Commentaire


                • #9
                  Bonjour,

                  Le message d'erreur est bien un message d'erreur généré par sourcerer.

                  Dans ma version actuelle, il est possible de voir les commandes php bloquées au niveau du plugin.

                  Cliquez sur l'image pour l'afficher en taille normale

Nom : sourcerer.jpg 
Affichages : 60 
Taille : 53,4 Ko 
ID : 2020601

                  Pascal
                  If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

                  Commentaire


                  • #10
                    Hello Pascal,
                    je pense que je vais fermer cette conversation puisque les causes du non fonctionnement sont éclaircies.
                    Il s'agit d'une version obsolète de sourcerer.
                    les autres problèmes qui subsistent feront l'objet d'une conversation autre.
                    Un grand merci pour votre aide.
                    J'ai du travail en perceptive.
                    Bien cordialement.
                    Pierre

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X