Question fiabilité et sécurité Mysql Free

Répondre


Cette question est un moyen de lutter contre les publications automatisées indésirables.
Émoticônes
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Accéder à davantage d’émoticônes
  Revue du sujet
 

  Étendre la vue Revue du sujet : Question fiabilité et sécurité Mysql Free

Re: Question fiabilité et sécurité Mysql Free

par cortoh » 01 sept. 2019, 19:18

Voici un exemple de script que j'utilise pour l'envoi et la réception, le principe dans mon appli est de remplir un formualire, de stocké ensuite mes données dans la BDD et de les récupérer et les afficher dans mon formulaire quand j'en ais besoin ou qu'un de mes collègues les charges depuis sont appli.

Mon script pour envoyer et enregistrer mes donnéés:

Code : Tout sélectionner

<?php $serveur = 'sql.free.fr'; $login = 'monLogin'; $pass = 'monPass'; $nom_cl = $_POST['nom_cl']; $prenom_cl = $_POST['prenom_cl']; $naissance = $_POST['naissance']; $lieu = $_POST['lieu']; $adresse = $_POST['adresse']; $cp = $_POST['cp']; $ville = $_POST['ville']; $tel_fixe = $_POST['tel_fixe']; $tel_por = $_POST['tel_por']; try { $connexion = new PDO('mysql:host=$serveur;dbname=maTable;charset=UTF8', $login, $pass); $connexion -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'connexion=1'; $requete = $connexion->prepare('INSERT INTO maTable (nom_cl,prenom_cl,naissance,lieu,adresse,cp,ville,tel_fixe,tel_por) VALUES (:nom_cl,:prenom_cl,:naissance,:lieu,:adresse,:cp,:ville,:tel_fixe,:tel_por)'); $requete->bindParam(':nom_cl' , $nom_cl); $requete->bindParam(':prenom_cl' , $prenom_cl); $requete->bindParam(':naissance', $naissance); $requete->bindParam(':lieu', $lieu); $requete->bindParam(':adresse', $adresse); $requete->bindParam(':cp', $cp); $requete->bindParam(':ville', $ville); $requete->bindParam(':tel_fixe', $tel_fixe); $requete->bindParam(':tel_por', $tel_por); $requete->execute(); } catch(PDOException $e) { echo 'Echec de la connexion : ' .$e->getMessage(); } ?>

Mon script pour les récupérer:

Code : Tout sélectionner

<?php $serveur = 'sql.free.fr'; $login = 'monLogin'; $pass = 'monPass'; $nom_cl = $_POST['nom_cl']; $prenom_cl = $_POST['prenom_cl']; try { $connexion = new PDO('mysql:host=$serveur;dbname=maTable;charset=utf8', $login, $pass); $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $requete = $connexion->prepare('SELECT nom_cl,prenom_cl,naissance,lieu,adresse,cp,ville,tel_fixe,tel_por FROM maTable WHERE nom_cl = :nom_cl AND prenom_cl = :prenom_cl'); $requete->bindParam(':nom_cl', $nom_cl); $requete->bindParam(':prenom_cl', $prenom_cl); $requete->execute(); $resultat = $requete->fetch(); if( $resultat != 0 ) { $connexion=1; // Récupéré dans mon appli pour confirmer le résultat } else { $connexion=2; // Récupéré dans mon appli pour confirmer le non résultat } echo '{ "connexion":'.$connexion.', "nom_cl":"'.$resultat['nom_cl'].'", "prenom_cl":"'.$resultat['prenom_cl'].'", "naissance":"'.$resultat['naissance'].'", "lieu":"'.$resultat['lieu'].'", "adresse":"'.$resultat['adresse'].'", "cp":"'.$resultat['cp'].'", "ville":"'.$resultat['ville'].'", "tel_fixe":"'.$resultat['tel_fixe'].'", "tel_por":"'.$resultat['tel_por'].'" }'; } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>

Re: Question fiabilité et sécurité Mysql Free

par @rthur » 01 sept. 2019, 16:17

Un lien intéressant qui recense les bonnes pratiques pour développer en PHP :
https://eilgin.github.io/php-the-right-way/

Re: Question fiabilité et sécurité Mysql Free

par @rthur » 01 sept. 2019, 16:14

Sans savoir ce que tu as mis en place comme sécurité ni voir ton code, c'est impossible de te dire ce qu'il en est. :-D

Le principe de base est que tu ne dois JAMAIS faire confiance à ce que tu reçois d'un utilisateur (même via ton appli), du coup il est fortement recommandé de filtrer toutes les variables reçues via $_GET, $_POST, $_COOKIE avec des fonctions comme filter_var()
https://www.php.net/filter_var

A utiliser avec les filtres par défaut de PHP qui permettent de gérer les cas les plus classiques :
https://www.php.net/manual/fr/filter.fi ... nitize.php

Question fiabilité et sécurité Mysql Free

par cortoh » 01 sept. 2019, 16:05

Bonjour à tous,

J'ai développé une application Android qui utilise une base de données via mon fournisseur internet Free, j'ai pour info rédigé mes PHP en PDO, l'ensemble fonctionne parfaitement, je peux sans problème importer ou exporter mes données via mon application, ma question est de savoir si l'ensemble reste plus ou moins sécurisé ou bien faut-il apporter d'autres actions ?

Merci à vous.