securiser l'acces à la base mysql - PHP - Programmation
Marsh Posté le 04-01-2018 à 20:42:24
Le code que tu utilses pour la connection à la base de données est obsolète et comporte de grosse failles de sécuité,
actuellement le mieux est d'utiliser PDO pour les connexions à une db.
Un lien indispensable sur les bonnes prartiques php
http://www.phptherightway.com/
Pour l'autentification, s'il n'y a qu'un utilisateur tu peux utiliser htaccess
https://www.digitalocean.com/commun [...] untu-14-04
mais je pense que l'Authentification basique demande une connection https pour être un minimum sécurisée donc le mieux c'est d'utiliser https://letsencrypt.org/getting-started/, surtout si l'application est accessible sur internet
Marsh Posté le 04-01-2018 à 23:47:28
Htaccess -> manque de bol j'ai un serveur nginx
PDO ok, mais est ce securisé de laisser en clair le login et pwd dans le fichier write_data.php ? Comment faite vous ?
Je n'arrive pas à trouver de tuto la dessus. Pouvez vous m'en conseiller un ?
Cordialement
Marsh Posté le 05-01-2018 à 05:33:26
L'authentification n'est pas propre à Apache: c'est dans les spécifications du protocole http donc tu peux le configurer aussi sur Nginx mais sans htaccess évidemment.
https://www.nginx.com/resources/adm [...] c/#example
Stocker des mot de passe en clair n'est JAMAIS une bonne idée, quelque soit l'endroit où ils se trouvent (db, ou fichier).
Le mieux actuellement est de chiffrer les mots de passe avec l'algo Bcrypt qui est prévu pour.
Tu peux l'utiliser avec Nginx pour sécuriser l'accès à ton programme.
http://www.genecasanova.com/labs/s [...] ation.html
Je ne pense pas que stocker des mots passe, même chiffrés en dur dans un fichier PHP soit une bonne idée.
Ici ils expliquent pq il ne faut pas stocker les password dans un fichier php:
https://security.stackexchange.com/ [...] n-file-php
A mon avis, les 2 meilleures solutions sont soit stockage des login et mots de passe par apache, nginx soit dans la base de données, mais chiffrés dans tous les cas .
Perso dans ton cas, le stockage dans un fichier nginx me semble être la meilleure solution.
Marsh Posté le 06-01-2018 à 23:42:14
Bon merci. Ca n'a pas l'air simple cette affaire. Je vais creuser...
Marsh Posté le 04-01-2018 à 20:10:55
Bonjour /bonsoir
J'ai un projet de station météo connectée en gprs qui envoie toute les 15 minutes une requette : http://ipDuRaspPi/repertoire/write [...] ?o=15&v=16 sur mon raspberry pi. Celui ci rempli la base mysql avec la date, la vitesse du vent et son orientation. voila le contenu de mon fichier write_data.php
et je peut ensuite lire mes données via :
Je ne suis pas un programmateur php, j'ai pris des bouts de code à droite et à gauche, mais je comprend quand même ce que çà signifie.
Je me rend compte que bien que ça fonctionne, ce n'est vraiment pas sécurisé.
Que puis je faire pour sécuriser ces connections ?
1ere chose, envoyer une "clé" en paramètre , rajouter &cle=ihzefcnfcgyo575fc à la fin de mon http://ipDuRaspPi/repertoire/write [...] ?o=15&v=16, et si ele n'est pas présente, rejeter l'ajout à la base de donnée
2eme chose, le login et le mdp sont en clair dans les fichier write_data.php et test.php . Comment faire pour tout sécuriser ?
Cordialement Olivier
PS si vous me répondez, pensez que vous avez à faire à quelqu'un qui n'a pas l'habitude de php ou de mysql