Utilité de class.plx.encrypt.php

Hello,

Je suis passé récemment à PluXml, et j'en suis très satisfait. Je suis en train de regarder le code, et je m'interroge sur l'utilité de core/lib/class.plx.encrypt.php. Les méthodes base64url_(en|de)code sont utilisés en interne, ok. Mais la méthode encryptId n'est jamais utilisée dans PluXml, et la méthode decryptId n'est utilisée qu'une fois dans le moteur. Comment utiliser l'une mais pas l'autre ?

De plus, la clé de chiffrement est dans le code source, donc il s'agirait plutôt de codage/brouillage. Mais pour quoi faire ?

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Voilà un exemple d'utilisation à coller dans une page statique
    <?php
    
    # Nom du fichier à encoder stocké dans /data/medias/
    # /data/medias/ ne peut pas être changé si on veut passer par le système et l'url de téléchargement de PluXml
    
    # exemple: fichier à encoder: /data/medias/downloads/EXPORT_IMPORT.xlsx
    # on donne donc le chemin à partir de: /data/medias/
    
    $file= "downloads/EXPORT_IMPORT.xlsx";
    
    # Récupération et affichage du nom du fichier encodé
    
    $enc = plxEncrypt::encryptId($file);
    echo 'Nom du fichier encodé: '.$enc.'<br />';
    
    # Formatage et affichage du lien pour télécharger le fichier
    
    $plxMotor = plxMotor::getInstance();
    echo '<a href="'.$plxMotor->urlRewrite('?download/'.$enc).'" title="">Télécharger</a><br />';
    
    ?>
    

    Cette classe n'est plus vraiment utilisée. Elle est toujours là pour ceux qui ont en besoin.
    La clé de codage est effectivement en dur dans le code. Il était prévu que ce soit modifiable et personnalisable à partir de l'admin, mais ça n'a jamais été fait.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Merci pour la réponse :cool: À la limite, on pourrait implémenter cela avec une clé aléatoire générée en session. Je vois le principe.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Sbgodin a écrit:
    Merci pour la réponse :cool: À la limite, on pourrait implémenter cela avec une clé aléatoire générée en session. Je vois le principe.

    non car la clé utilisée pour encoder doit etre identique pour décoder le lien.
    si on a une clé différente à chaque session ce ne sera pas possible

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.