[RESOLU] authentification web

le mieux c’est le formulaire php, mais avec des vérifications à chaque niveau:
-qu’il n’y a pas de balises html dans les données entrées ( faille XSS)

  • echapper tous les caractères avec les fonctions déjà existantes en php.
  • cryptage sha-256
  • etc…
    mais je pense que tu trouveras des réponses plus pertinentes sur les forums dédiés à php.

Merci pour ta réponse L0u!$

N’étant pas spécialiste aurais tu un tuto ou de bon lien à me faire partager ?

[quote=“zepeto”]Merci pour ta réponse L0u!$

N’étant pas spécialiste aurais tu un tuto ou de bon lien à me faire partager ?[/quote]
siteduzero.com/tutoriel-3-14 … #ss_part_3

Je laisse tombé la solution basé sur php car je n’ai pas assez de connaissance.

Je me tourne vers la solution .htaccess .htpasswd

Voici ma démarche :

Quand je veux accéder à mon site web la page s’affiche sans avoir de demande d’authentification.
Je ne voie pas ce qu’il manque ou ce que j’ai oublié de faire ?

Merci pour votre aide.

Dans le fichier de ton site (/etc/apache2/sites-available/000-default par défaut (/var/www)) :

  • soit tu mets directement les directives AuthUserFile, etc.
  • soit tu modifies la directive AllowOverride » dans le fichier pour qu’il prenne en compte le .htaccess.

Merci kna mais sa ne change rien.
La phase d’authentification n’apparait pas

Je reste disponible si vous avez d’autre idées.

Essaye de suivre ce tuto et dis nous si cela marche :

glatozen.org/apachehtaccess.php

Merci artex pour ton tuto.
Mais ça ne marche pas car l’architecture d’apache à changé.

le fichier http.conf s’appel httpd.conf et il est vide.

De plus on retrouve :

[quote]<Directory /var/www/>
Options Indexes Includes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
[/quote]
à plusieurs endroit donc lequel modifier ?

/etc/apache2/sites-available/default
/etc/apache2/sites-available/default-ssl
/etc/apache2/sites-available/ssl
/etc/apache2/sites-enabled/@000-default
/etc/apache2/sites-enabled/@ssl

faut il activer un module particulier de apache et si oui lequel et comment ?
Dans le fichier apace2.conf faut il rajouter quelque chose et faut il modifier la ligne [quote]AccessFileName /var/www/.htaccess[/quote] ?
faut il choisir un cryptage particulier pour le fichier .htpasswd ?
Mon problème peut il venir du fait que mon site et entièrement https et que je bloque http ?

Merci encore pour votre aide.

Bonjour,

Le fichier .htpasswd, il ne faut pas le mettre dans /var/www sinon tout le monde pourra y accéder en allant à 127.0.0.1/.htpasswd

Mets le dans /var/www/private par exemple et dans ce répertoire, ajoute un fichier .htaccess qui contient “deny from all”

pl.

Essaye un .htaccess comme ça :

AuthUserFile /var/www/private/.htaccess AuthGroupFile /dev/null AuthName "Accès sécurisé AuthType Basic <LIMIT GET POST> Require valid-user </LIMIT>

pl.

Merci pour ton aide pleiades.

J’ai fais les modifications que tu ma dit mais ça ne change rien.
hormis modifier les fichiers .htaccess et .htpasswd que faut il modifier d’autre ?
faut il toucher à la configuration d’apache et si oui ou ?

[quote=“zepeto”]Merci pour ton aide pleiades.

J’ai fais les modifications que tu ma dit mais ça ne change rien.
hormis modifier les fichiers .htaccess et .htpasswd que faut il modifier d’autre ?
faut il toucher à la configuration d’apache et si oui ou ?[/quote]

Bon, avançons par étape. On va déjà voir si les fichiers .htaccess sont bien pris en compte.

1 - Dans /var/www , créé le fichier .htaccess qui ne contient que la ligne suivante :
Deny From All

Qu’est-ce que ça donne? Est-ce que tu arrives à accéder à ce répertoire en http?
127.0.0.1/

2 - Et montre moi le contenu de /etc/apache2/sites-available/default

3 - Et vire la ligne AccessFileName que tu as ajouté dans /etc/apache2/apache2.conf
La valeur par défaut est suffisante pour toi.
httpd.apache.org/docs/1.3/mod/co … ssfilename

pl.

AllowOverride All

pour prendre en compte un .htaccess

Dans /var/www , j’ai créé le fichier .htaccess qui contient la ligne suivante :

Lorsque je fait 127.0.0.1/
J’accepte le certificat vu que je suis en https et ma page web apparait, je ne suis pas bloqué.

voici mon /etc/apache2/sites-available/default :

[quote]<VirtualHost *:80>
ServerAdmin webmaster@localhost

    DocumentRoot /var/www/
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

[/quote]

/etc/apache2/apache2.conf :

Au secours on me voit plus !! :006 :006 :006 :006 on voit même plus mes posts :006 :006 je suis seul au monde :open_mouth: :open_mouth: :open_mouth:

… mon post précédent était utile à mon avis, jettes y un oeil !!

J’ai vu ton poste SpaTule.

J’ai oublié de précisé que si je mets :

ça ne change rien j’accède toujours a mon site web, je ne suis pas bloqué.

La je comprend pas
Si la directive est définie à All toutes les directives possibles dans le .htaccess sont appliqué
Sachant que mon .htaccess contient Deny From All ma page web ne devrait pas s’afficher et pourtant c’est le cas.

Vous avez des idées ?

Problème résolu je me trompé de site par défaut vu que je suit en https et pas en http.

Merci à tous pour votre temps et votre aide.

Si tu veux, pour la prochaine fois, il y a une icône pour marquer le message comme résolu …
:stuck_out_tongue:

Merci pour l’info.

Maintenant que mon authentification ce fait, que mon site est entièrement en https,
je voudrais rediriger monsite.tld

Je me demander ce que je doit faire : redirect ou rewrite ou les deux ?

(Pour info : pour bloquer le http j’ai dit a apache d’arrêté d’écouter sur le port 80)

Merci pour votre aide.

Fini

<VirtualHost :80>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.
) https://%{SERVER_NAME}/$1 [L,R]

a2enmod rewrite

is good thx