Forum Linux.général configurer .htaccess

Posté par  . Licence CC By‑SA.
0
23
juin
2020

Bonjour à tous,

ça fait un moment que je cherche et que je fais des tests en vain.

Je veux modifier mon fichier .htaccess pour qu'il autorise certaines IP et dans le cas contraire qu'ils demande un mot de passe.

Pour le moment j'en suis à cette partie:

    Order Deny,Allow
    Deny From All

    Allow From 999.7.444.113

    Options -Indexes

    ErrorDocument 400 "Vous ne pouvez pas vous connecter depuis cette IP"
    ErrorDocument 401 "Vous ne pouvez pas vous connecter depuis cette IP"
    ErrorDocument 403 "Vous ne pouvez pas vous connecter depuis cette IP"
    ErrorDocument 404 "Vous ne pouvez pas vous connecter depuis cette IP"
    ErrorDocument 500 "Vous ne pouvez pas vous connecter depuis cette IP"

Merci par avance pour votre aide!!! Bonne journée

  • # Ancien

    Posté par  (site web personnel, Mastodon) . Évalué à 3. Dernière modification le 23 juin 2020 à 12:16.

    Order fait partie des directives Deprecated sur 2.4

    À priori, si j'ai bien compris, ton problème se règle comme ça:

    AuthType Basic
    AuthBasicProvider file
    AuthUserFile /chemin/vers/fichier/.htpasswd
    AuthName "Le site de Thomas"
    Require valid-user
    Require ip 123.45.67.89

    Il faut ensuite générer le fichier avec au moins un user/pass et ça doit fonctionner.

    Ref: https://httpd.apache.org/docs/2.4/upgrading.html

    La gelée de coings est une chose à ne pas avaler de travers.

    • [^] # Re: Ancien

      Posté par  . Évalué à 2.

      Dans le lien donné pour l'exemple, c'est le code en bas de la page

      AuthType Basic
      AuthBasicProvider file
      AuthUserFile /chemin/vers/fichier/.htpasswd
      AuthName "Le site de Thomas"
      # Implicitly <RequireAny>
      Require valid-user
      Require ip 123.45.67.89

      qui dit qu'il faut satisfaire l'une des deux conditions finales
      soit etre un utilisateur valide pris dans le htpasswd
      soit avoir l'IP 123.45.67.89

  • # erreur d'anonymisation, ou pas…

    Posté par  . Évalué à 1.

    Salut.
    Pour commencer l'adresse ip 999.7.444.113, n'est pas valide, est-ce une erreur d'anonymisation, ou pas?

    Ensuite, qu'as tu fait comme tests et qu'est-ce que tu as comme erreurs? À quel moments (démarrage du serveur, accès à l'URL…)?

    Qu'utilise tu comme serveur web, et comme version?

    Une recherche rapide m'indique que la directive d'apache satisfy pourrais répondre à ton besoin. Si tu es sur nginx, trouve l'équivalant.

    • [^] # Re: erreur d'anonymisation, ou pas…

      Posté par  . Évalué à 1.

      Merci pour vos réponses!

      Voici les infos:

      -l'adresse ip que j'ai mis dans le post est juste un exemple.

      -voici les infos de mon server:

      Version Apache 2.4.43
      Version de PHP 7.2.30
      Version de MySQL 10.2.32-MariaDB
      Architecture x86_64
      Système d’exploitation linux

      -je suis obligé de mettre ce code:
      ErrorDocument 401 default
      ErrorDocument 402 default
      ErrorDocument 403 default
      ErrorDocument 404 default
      ErrorDocument 500 default
      ErrorDocument 501 default
      ErrorDocument 502 default
      ErrorDocument 503 default
      ErrorDocument 504 default

      car sinon je suis dirigé vers la page 'error 404' personnalisé de mon site. En fait sur mon hébergeur j'ai mon site, ans un dossier j'ai un logiciel d'installé. Le but est que l'on puisse juste se conecté depuis ertaines ip et dans le cas contraire avoir une demande de password afin d'accéder au logiciel.

      -Actuellement le code fonctionne si j'ai le bon ip. Dans le cas contraire j'ai bien la demande de password et quand je le rentre j'arrive sur une page:
      _Internal Server Error
      The server encountered an internal error or misconfiguration and was unable to complete your request.

      Please contact the server administrator at…_

      et je ne comprends pas pourquoi!
      Dans le fichier .htpasswd, j'ai mis: 11:11.
      Comme il est dans le même dossier que le fichier.htaccess j'ai mis:
      AuthUserFile /.htpasswd

      j'ai déjà testé des variantes comme:
      AuthUserFile /public_html/dolibarr/.htpasswd
      AuthUserFile /dolibarr/.htpasswd

      mais c'est toujours impossible de se connecter quand on entre le bon password et que l'on a pas la bonne ip!!!

      • [^] # Re: erreur d'anonymisation, ou pas…

        Posté par  . Évalué à 1.

        Tu as une version >2.4, donc comme l'as indiqué Lol Zimmerli, la directive order n'est plus à utiliser.

        pour la valeur de AuthUserFile, soit tu connais l'emplacement exacte depuis la racine de l'hôte, tu doit pouvoir trouver l'information dans dolibarr (dans une page genre phpinfo, ou information système, si tu est sur un hébergement mutualisé, ça pourrais ressembler à un truc du genre : /home/(ton-identifiant-de-ton-herbergeur/public_html/dolibarr ou /var/www/dolibarr, sinon tu peux essayé en chemin relatif avec juste .htpasswd sans le (anti-)slash \

        AuthUserFile .htpasswd

        Et vérifier que ton ficher .htpasswd soit correct

    • [^] # Re: erreur d'anonymisation, ou pas…

      Posté par  . Évalué à 1.

      [mode auto-correction]
      La directive Satisfy n'est plus valable pour la version d'apache 2.4.
      cela est remplacé par (exemple pris dans la doc d'apache même) :

      Version 2.2 :

      Order allow,deny
      Deny from all
      # ALL est la valeur par défaut de Satisfy
      Satisfy ALL
      Allow from 127.0.0.1
      AuthType Basic
      AuthBasicProvider file
      AuthUserFile /example.com/conf/users.passwd
      AuthName secure
      Require valid-user

      Version 2.4 :

      AuthType Basic
      AuthBasicProvider file
      AuthUserFile /example.com/conf/users.passwd
      AuthName secure
      <RequireAll>
        Require valid-user
        Require ip 127.0.0.1
      </RequireAll>
      • [^] # Re: erreur d'anonymisation, ou pas…

        Posté par  . Évalué à 2.

        dans ton exemple, avec le RequireAll
        il faut à la fois venir de l'IP listée ET avoir un utilisateur valide.

        • [^] # Re: erreur d'anonymisation, ou pas…

          Posté par  . Évalué à 1. Dernière modification le 23 juin 2020 à 16:46.

          merci pour vos retour, j'ai modifié requier all par any.

          Donc quand j'ai la bonne ip c'est bon sinon il demande le pass, quand je l'entre j'arrive toujours sur:
          Internal Server Error

          --voici le fichier .htaccess:

          ErrorDocument 401 default
          ErrorDocument 402 default
          ErrorDocument 403 default
          ErrorDocument 404 default
          ErrorDocument 500 default
          ErrorDocument 501 default
          ErrorDocument 502 default
          ErrorDocument 503 default
          ErrorDocument 504 default
          
          AuthType Basic
          AuthBasicProvider file
          AuthUserFile /dolibarr/.htpasswd
          AuthName secure
          <RequireAny>
            Require valid-user
            Require ip 109.7.204.113
          </RequireAny>

          --et le fichier .htpasswd:

          11:22

          Est ce que je dois encoder le pass via le site:
          https://www.web2generators.com/apache-tools/htpasswd-generator

          • [^] # Re: erreur d'anonymisation, ou pas…

            Posté par  . Évalué à 1.

            Ton mot de passe doit être chiffré, après que tu le fasse avec le site que tu indique ou un autre outil, genre htpasswd (en cli), c'est pareil.

            • [^] # Re: erreur d'anonymisation, ou pas…

              Posté par  . Évalué à 1.

              c'est fait merci, j'ai maintenant pour "11:22" ceci dans le fichier .htpasswd:

              "11:$apr1$t3exk6jn$wGrvVcOyUw7APYjj8k7xu1".

              Cependant quand j'entre le pass atterrie à chaque fois sur la page:

              Internal Server Error
              The server encountered an internal error or misconfiguration and was unable to complete your request.

              Please contact the server administrator at webmaster@xxxxx.com to inform them of the time this error occurred, and the actions you performed just before this error.

              More information about this error may be available in the server error log.

              j'ai même testé ces chemins:
              AuthUserFile /www/dolibarr/.htpasswd
              AuthUserFile /dolibarr/.htpasswd
              AuthUserFile /public_html/dolibarr/.htpasswd
              AuthUserFile /.htpasswd

              mais rien ne fonctionne!

              • [^] # Re: erreur d'anonymisation, ou pas…

                Posté par  . Évalué à 1.

                C'EST BON!!!
                comme un con j'ai mal écrit le chemin. c'est en visionnant les logs que je me suis rendu compte!!!

                merci à vous tous pour votre aide et vos réponse!!!!!

                Très bonne journée

          • [^] # Re: erreur d'anonymisation, ou pas…

            Posté par  . Évalué à 2.

            AuthUserFile /dolibarr/.htpasswd

            tu es sur que ton dossier dolibarr est à la racine de ton systeme (/)
            si ton serveur web est "standard", les pages sont plutot dans /var/www ou /var/www/html

            si tu as décompressé ton dolibarr la dedans, alors ce sera plutot /var/www/dolibarr/.htpasswd

            mais ca reste "mal" de le mettre dans un endroit navigable par l'utilisateur,
            donc ca pourrait etre mis dans /var/www si tu y a accès

            comme dit plus haut, si tu es sur un hébergement mutualisé, en FTP, tu penses etre chez toi dans / ou /home/user mais tu es en réalité dans /mnt/nfs/homes/u/user232324/www

            il faut alors voir avec l'hébergeur

        • [^] # Re: erreur d'anonymisation, ou pas…

          Posté par  . Évalué à 1.

          J'avoue que j'ai pas pris le temps de regarder, je voulais surtout attirer l'attention sur le faîte que ce que je disais au sujet de la directive "satysfi" dans mon post précédent c'était obsolète.

          Merci d'avoir fait la précision.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.