IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Proteger son serveur ou sa page ?


Sujet :

Apache

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 102
    Points : 42
    Points
    42
    Par défaut Proteger son serveur ou sa page ?
    Bonjour à tous,

    Pour ceux qui m'ont suivis dans mes péripéties , je continue de poster ici , car en fait je sais pas trop ou cela doit aller.

    Maintenant que tout est fonctionnel, certes en spaghetti, mais fonctionnel. Je cherche une solution pour débutant me permettant de protéger ma page web afin qu'une personne mal intentionnée ne puisse venir y accéder.

    J'avais pensé a une fenêtre popup qui s'ouvre en arrivant sure la page et qui demande un mot de passe, mais je ne sais pas si c'est trop "sécure" ! votre avis ?

    J'ai lu des choses sur un fichier htacces ? Ma page web est héberger sur un sous-domaine d'un forum que je possède ( qui parle d’électronique), il y a déjà un htacces dois-je un faire un autre pour ma page web ?

    Merci à vous.

    PS : si un courageux veut regarder mon code en entier pour le corriger , faites le moi savoir, je suis toujours avide d'apprendre mais je sais aussi le temps que cela représente !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Non pas un autre, tu modifies l'existant.
    N'oublie pas d'en faire une sauvegarde avant par sécurité.
    Et tu peux t'inspirer de ce tut:
    https://cchatelain.developpez.com/ar...e/htaccess/#L2

    Et non tu n'est pas vraiment dans le bon forum...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Bonjour à tous ,

    Bon mon post ne rencontre pas à grand succès ! Du coup a faire de chercher j'ai trouver la solution pour mettre un fichier".htaccess" et ".htpasswd" .
    Ca fonctionne parfaitement coté web ! quand je rentre sur ma page il me demande un login et un mot de passe ! super.
    Sauf que voila ca fonctionne tellement bien que maintenant coté ESP32, je n'arrive plus à me connecter à mon serveur et je ne trouve pas de solution pour le faire ! je cherche encore.

    J'avais pensé à un petit subterfuge que je souhaiterais vous soumettre ! Si vous pouviez me dire si le principe sécurise un peu ?

    Voila si je rajoute un champ input en html sur ma page . Dans ce champ il faudra mettre un Mot De Passe.
    Quand j'envoie ma requête pour allumer une led il envoie aussi le texte dans l'input.
    Donc coté html, le pirate voit qu'il envoie l'input avec les paramètres de la requête mais il ne sait pas ce qu'il doit envoyer vu que c'est un mot de passe.

    La requête arrive sur le serveur, coté php je compare le texte rentrer dans l'input à une valeur de ma BDD. En faite je stocke le mot de passe sur ma Bdd et je le compare. Si c'est le même alors je peux exécuter la requête ? si ce n'est pas le même il ne passe passe rien !

    Est-il plus sécuriser de stocker le mot de passe sur la Bdd, ou de faire la comparaison directement en php ?
    Ca doit vous paraitre un peu con mais bon, j'essaye d'avancer !

    Merci

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour ce type de mot de passe, il y a plusieurs clients http qui permettent de le passer dans l'url en faisant https://utilisateur:mot_de_passe_en_clair@serveur/....
    si ça ne fonctionne pas, redites nous quel langage vous utilisez côté esp.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Merci Mathieu de m'avoir suivis jusque la !

    Le langage cote ESP ressemble à du C . C'est un peu compliqué en fait . L'esp32 est stm32 en fait . Ce module se programme avec l'IDE arduino et du code arduino prémâché. ce n'est pas véritablement du "C" mais de l’interprété.

    J'ai essayé plusieurs combine d'on une qui me paraissait viable mais qui au final c'est avérée inutile .
    Regarde la discussion ici :
    https://easydomoticz.com/forum/viewt...p?f=24&t=11561

    Au final je suis revenu à la case départ, a savoir que mon ESP doit absolument se connecter avec le login et le mot de passe au serveur. Mais impossible ou du moins je doit louper quelques choses quelque part !

    J'avais ce lien qui ma donné espoir mais je n'y suis pas parvenu
    https://techtutorialsx.com/2018/01/0...uthentication/

    Le hic c'est que mes notions sont bien trop faibles pour être certains de ce que je fais.? Du coup a chaque tentatives j'essaye toutes les combinaisons possibles.

    Ne serait-ce que pour le fichier ".htpasswd" le mot doit-il mettre marquer en clair ou en b64 ? bref trop d'incertitude.
    En envoyant une requête avec le password comme tu me l'as préconisé ce ne fonctionne pas.


    C'est rare mais je pense jeter l'éponge et essayer ma méthode et rentrant un password dans un input html que je traiterai en php pour valider ou non la requête.


  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par dje8269 Voir le message
    Ne serait-ce que pour le fichier ".htpasswd" le mot doit-il mettre marquer en clair ou en b64 ? bref trop d'incertitude.
    à partir du moment que tu arrives à te connecter en passant par le navigateur, ça veut dire que le serveur est bien configuré donc tu n'as plus besoin d'y toucher.

    Citation Envoyé par dje8269 Voir le message
    J'avais ce lien qui ma donné espoir mais je n'y suis pas parvenu
    https://techtutorialsx.com/2018/01/0...uthentication/
    donc il reste juste à trouver comment se connecter avec l'esp et je t'avais demandé le langage pour trouver ce genre de code.


    Code Arduino : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        HTTPClient http;
     
        http.begin("http://192.168.1.88:8090/auth");
     
        String auth = base64::encode(authUsername + ":" + authPassword);
        http.addHeader("Authorization", "Basic " + auth);
     
        int httpCode = http.GET(); 
     
        if (httpCode > 0) { //Check for the returning code
     
            String payload = http.getString();
            Serial.println(httpCode);
            Serial.println(payload);
        }

    mais à partir de là, si tu as un souci tu peux essayer de demander sur le forum suivant :
    https://www.developpez.net/forums/f2...arque/arduino/

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Bonsoir,

    De retour de vacances, je vais essayer de reprendre mon petit projet sans prétention.

    Pour le langage Mathieu je t'ai répondu c'est du "C" arduino .

    JE vais suivre ton conseil et poster sur le forum arduino, on ne sait jamais , sinon je mettrai en œuvre ma méthode avec le mdp stocké dans la Bdd.

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Bonjour à tous,

    Bon toujours résolu mon problème de mot de passe du coup j'ai opté pour une alternative.

    Si quelqu'un peut me donner son avis voir amélioration de mon système très basique mais qui somme toute doit faire un "peu" le job.

    J'ai donc rajouter une entrée sur ma page web comme ceci

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="password" class="Mot_De_Passe" name="n_mdp" id="id_mdp" placeholder="Votre texte ici" size="13" maxlength="16"  />

    La personne mal intentionnée doit donc savoir déjà qu'il faille renter quelque chose. Donc disons que la personne soit maligne (ce qui est souvent le cas), j'ai cru comprendre que tout ce qui se passe sur le serveur est invisible pour le pirate.
    Donc pour modifier ma base de données j'envopie les paramétres + le fameux text qui est en faite le mot de passe.
    En php je compare le texte qui a été rentrer avec mon mot de passe.

    Si le text est pareil alors la fonction de mise à jour s'effectue sinon rien ne se passe!

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    include("code_base_de_donnee.php");
     
    $MDP = $_GET['Text'];
     
      if ($MDP === 'monMDP'){
     
        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
          die("Connection failed: " . $conn->connect_error);
        }
     
        $Capteur = $_GET['Capteur'];
        $Etat = $_GET['Etat'];
     
     
        $sql = "UPDATE Ma_table SET Etat='$Etat' WHERE Capteur='$Capteur'";
     
        if ($conn->query($sql) === TRUE) {
          echo "Record updated successfully";
        } else {
          echo "Error updating record: " . $conn->error;
        }
     
        $conn->close();
      }  
    ?>


    Qu'en pensez vous !

    JE pensais éventuellement mettre le Mdp sur la base de données mais je ne sais pas si cela apporte un vrai plus ou non !

    Merci

  9. #9
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    si le seul endroit ou s'affiche ton mot de passe est dans le code php if ($MDP === 'monMDP'){ alors oui le pirate ne pourra pas le lire directement.
    après il existe des techniques pour cacher (hasher) le mot de passe dans le cas où le pirate arrive à entrer dans l'hébergement et lire le contenu des fichier php mais ça sera pour un prochain épisode.

    l'inconvénient de ta technique est que tu dois rentrer le mot de passe à chaque fois que tu rafraichis la page. mais si j'ai bien suivi, une fois la page affichée toutes les actions passent pas ajax donc cela ne te pose pas de souci de ce côté, c'est bien ça ?
    pour information, les systèmes du genre "espace client" qui utilisent plusieurs url pour l'affichage, stockent le mot de passe ou la preuve de l'identité dans une session pour que l'utilisateur ait seulement besoin de le saisir une seule fois. tu peux regarder les cours là pour plus d'informations :
    https://php.developpez.com/cours/?pa...urite#sessions

    Citation Envoyé par dje8269 Voir le message
    JE pensais éventuellement mettre le Mdp sur la base de données mais je ne sais pas si cela apporte un vrai plus ou non !
    l'utilité de cela est de proposer une fonctionnalité de modification du mot de passe sans avoir besoin de modifier les fichiers php.

  10. #10
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Merci Mathieu de ton aide précieuse,

    Il y a seulement deux endroits ou le Mdp est écrit en clair , sur le fichier .php et dans le programme de l'esp mais qui ai un client donc non piratable. Donc d'aprés ce que tu m'as expliqué cela est pas mal. Delà a pirater le site d'hebergement bon....


    l'inconvénient de ta technique est que tu dois rentrer le mot de passe à chaque fois que tu rafraichis la page. mais si j'ai bien suivi, une fois la page affichée toutes les actions passent pas ajax donc cela ne te pose pas de souci de ce côté, c'est bien ça ?
    Oui, tu as parfaitement raison. Franchement cela me convient comme cela.

    Le mode session ne m’intéresse pas pour le moment. Mais je vais lire ton lien pour ma culture perso et par intérêt futur !

    Mon but était d'obtenir une petite protection. Pour éviter le simple pirate qui veut s'amuser. Car mon application ne va pas chercher bien loin lol.

    Un grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. rediriger les sites sur son serveur
    Par largowinch dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 06/12/2005, 18h56
  2. Comment implanter ssh dans son serveur ?
    Par AsmCode dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/12/2005, 13h58
  3. [Sécurité] Proteger l'appel d'une page PhP
    Par rigolman dans le forum Langage
    Réponses: 11
    Dernier message: 13/10/2005, 16h28
  4. [Routeur] Voir son serveur web local sur internet
    Par romain3395 dans le forum Applications
    Réponses: 13
    Dernier message: 16/12/2004, 10h36
  5. Sécuriser son serveur Apache sous Linux
    Par rolkA dans le forum Sécurité
    Réponses: 6
    Dernier message: 01/12/2003, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo