[Plugin] kzOtPHP pour double authentification (2FA, TOTP, QR-Code)

2»

Réponses

  • Superbe Plugin et qui tourne bien avec la dernière mouture en cours de dev alias 5.9-RC3
    avec un petite retouche du code de kzOtPHP.php pour enlever les warnings : ligne 293

        const ADMIN_AUTH_PREPEND_CODE = <<< 'ADMIN_AUTH_PREPEND_CODE'
    <?php
    if(defined('MAX_LOGIN_COUNT')){# Protection anti brute force pluxml5.9RC+
        $maxlogin['counter'] = MAX_LOGIN_COUNT; # = 5; # nombre de tentative de connexion autorisé dans la limite de temps autorisé
        $maxlogin['timer'] = MAX_LOGIN_TIME; # = 3 * 60; # temps d'attente limite si nombre de tentative de connexion atteint (en minutes)
    }
    if(
        empty($_SESSION['maxtry']['counter']) or
        empty($_SESSION['maxtry']['timer']) or
        intval($_SESSION['maxtry']['counter']) < $maxlogin['counter'] or
        time() <= $_SESSION['maxtry']['timer'] + $maxlogin['timer']
    ) {
        $plxAdmin->plxPlugins->aPlugins['##CLASS##']->check($plxAdmin, $maxlogin['counter']);
    }
    ?>
    ADMIN_AUTH_PREPEND_CODE;
    

    Testé et approuvé avec un greffon 2FA TOTP pour vos navigateurs Authenticator

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • RubénRubén Member

    Bonjour,
    merci pour le plug-in
    J'ai créé le fichier de langue pour l'occitan, oc.php :
    <?php $LANG = array( 'OTP_ENABLE' => 'Activar la dobla autentificacion', 'OTP_PIN' => 'Còdi PIN', 'OTP_FAILURE' => 'Còdi PIN incorrècte', 'OTP_SCAN' => 'Numerizatz lo còdi QR', 'DIGEST' => 'Emprenta', 'DIGITS' => 'Nombre de chifras', 'QRCODE_PROVIDER' => 'Generator local pel còdi QR', 'COPIED' => 'Uri copiat al quichapapièr', 'MISSING_ICONV_LIBRARY' => 'La bibliotèca Iconv per PHP es pas installada', 'MISSING_CTYPE_LIBRARY' => 'La bibliotèca Ctype per PHP es pas installada', 'ADMIN_LANG_FAILS' => 'Lo còdi de la lenga d\'administracion del site es %s. Mas vòstre navigador accèpta pas aquesta lenga' ); ?>

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonsoir,

    Version 1.0.0 du plugin kzOtPHP disponible avec le lien suivant :
    https://kazimentou.fr/repo/index.php?plugin=kzOtPHP&download
    Cette version nécessite au minimum PHP 7.1 et fonctionne aussi avec PHP 8.3.6 ( Ubuntu 22.04 LTS )
    Testé avec PluXml-5.8.12 et PluXml-5.9.0-RC7
    Utilisé avec FreeOTP sur smartphone Android.

  • TxoriTxori Member
    29 avril modifié

    Bonjour @bazooka07 et merci beaucoup pour l'update. Cependant, j'obtiens toujours un paquet d'erreurs avec.
    Je l'ai testé sur deux différents sites pluxml 5.8.12, PHP 8.3.6, et j'obtiens une série d'erreurs en casdade.
    J'ai posté les erreurs ici parce que le forum s'emballe un peu trop sur leur affichage : https://qtext.io/4jcf
    Je suis dispo si besoin pour faire des tests ;)

    Edit:
    En réouvrant le lien du texte d'erreurs sur un autre ordinateur, je me suis rendu compte que qtext.io ne fonctionnait pas du tout. Alors j'ai renommé les dossiers se terminant par -orig pour retrouver les messages d'erreurs et les lister, mais maintenant ça fonctionne... C'est à devenir fou.

    Et maintenant ça fonctionne sur les deux sites qui utilisent kzOtPHP :o

    Sur les deux sites, j'ai fait la même manip avec les mêmes résultats :
    1. Upload kzOtPHP dans le dossier plugins
    2. Acceder à core/admin plugins -> 1er message d'erreur en bas de page
    3. À chaque reload de la page, un nouveau message d'erreur et un nouveau dossier se terminant en -orig
    4. Renommer les dossiers dont le nom a été modifié pour supprimer -orig
    5. Recharger la page, ça fonctionne

    Trop bizarre. Après avoir tout vérifié, ma conclusion et qu'un fichier n'est pas passé lors de l'envoi du plugin en ftp. Mais sur les deux sites...? Enfin bon, ça fonctionne à présent. Merci :)

  • TxoriTxori Member
    30 avril modifié

    Je viens de retomber sur la liste des erreurs dans mon log nginx. La première qui ait tout fait sauter par la suite est :
    1146649#0: *10284164 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Failed opening required '/var/www/vhosts/bsc.fr/www/plugins/kzOtPHP/vendor/composer/../thecodingmachine/safe/generated/apache.php' (include_path='.:/opt/plesk/php/8.2/share/pear') in /var/www/vhosts/bsc.fr/www/plugins/kzOtPHP/vendor/composer/autoload_real.php:78

    Peut-être qu'il manquait simplement thecodingmachine/safe/generated/apache.php ? :o

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    29 avril modifié

    @Txory,
    J'ai fait une installation neuve de PluXml-5.8.12.
    Tu as certainement eu ce message d'erreur :

    An error is occured with the "KZOTPHP" plugin :
    type : 128
    message : "integer" will be interpreted as a class name. Did you mean "int"? Write "\Safe\integer" or import the class with "use" to suppress this warning
    file : kzOtPHP/vendor/thecodingmachine/safe/generated/swoole.php
    line : 17
    
    See https://www.php.net/manual/en/errorfunc.constants.php about type of error
    ============================================================
    User : 001
    Profil : 0
    PluXml version : 5.8.12
    PHP version : 8.3.6
    ============================================================
    About this server :
    HTTP_REFERER : http://berry83.lan/PluXml-5.8.12/core/admin/parametres_plugins.php
    HTTP_ACCEPT_ENCODING : gzip, deflate
    HTTP_ACCEPT_LANGUAGE : fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3
    HTTP_ACCEPT : text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
    HTTP_USER_AGENT : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0
    SERVER_SOFTWARE : nginx/1.18.0
    SERVER_PROTOCOL : HTTP/1.1
    REQUEST_URI : /PluXml-5.8.12/core/admin/parametres_plugins.php?sel=0
    SCRIPT_NAME : /PluXml-5.8.12/core/admin/parametres_plugins.php
    REQUEST_METHOD : GET
    QUERY_STRING : sel=0
    SCRIPT_FILENAME : /var/www/test/PluXml-5.8.12/core/admin/parametres_plugins.php
    PHP_SELF : /PluXml-5.8.12/core/admin/parametres_plugins.php
    ============================================================
    

    Ce plugin dépend d'une librairie externe installée avec composer : spomky-labs/otphp.
    Je n'ai pas pris la dernière version pour rester compatible avec PHP-7.x.x
    Sauf que cette librairie utilise une autre librairie avec une version non compatible avec PHP-8.0
    Mais l'auteur de OtPHP a publié une version qui corrige ce bug.
    La version 1.0.1 du plugin prend en compte cette correction.
    Même lien de téléchargement que précèdemment

    A noter que PHP 7.2.5+ est requis maintenant
    Pour ceux qui ont un site chez Free, il faut conserver la version 0.9.0 du plugin

  • TxoriTxori Member

    Merci beaucoup @bazooka07, ça fonctionne parfaitement maintenant =)

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