Bonjour,
J'ai un site web dont la base de donnée (mysql) est mise à jour par mon programme codé en JAVA. Pour faire cela, comme mon hébergeur interdit le serveur SQL d'accepter les connections "distante" (enfin seul ses serveurs d'hébergement sont acceptés) mon programme se connecte à des pages php, à qui il donne les paramètres qui vont bien pour exécuter les requetes SQL. Je vous donne un exemple de script d'administration, executequery.php :
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
30
31
32
33 <?php if (isset($_POST['identifiant']) && isset($_POST['password']) && isset($_POST['nomServeurSQL']) && isset($_POST['base']) && isset($_POST['statement'])) { $connection = @mysql_connect($_POST['nomServeurSQL'], $_POST['identifiant'], $_POST['password']); if (!$connection) { echo("Identifiant et/ou mot de passe incorrecte"); } else { $selectDB = @mysql_select_db($_POST['base']); if (!$selectDB) { echo("La base de données ".$_POST['base']." n'existe pas sur ce serveur."); } else { $statement = str_replace ( "\\", "", $_POST['statement']) ; $query = mysql_query($statement); if (!$query) { echo("erreur : ".mysql_error()."\n\n"."Lors de l'éxécution de : ".$statement); } else { echo("ok"); } } mysql_close(); } } ?>
J'utilise mon programme JAVA et mes scripts d'administration depuis des années pour un site perso avec des photos de famille, mais aujourd'hui j'ai un pote qui me demande de mettre en place cette solution pour le site de son entreprise pour permettre à la secrétaire de mettre à jour le catalogue sur le site WEB ==> SECURITE : j'en suis ou là ?!!!
Je ne suis pas un manche en dev WEB (), mais j'avoue que les préoccupation de sécurité .... c'est pas mon truc.
Y aurait-il des codeurs éclairés qui pourraint me donner leur avis sur comment sécuriser ce "mécanisme" que j'utilise ?
La d'entrée de jeu je vais modifier mes scripts pour utiliser PDO pour me connecter au serveur SQL : faut savoir évoluer
Ensuite j'aurais aimé protéger le dossier "administration", contenant ces scripts qui me permettent de gérer la base de donnée et le dossier "catalogue" contenant les images et divers éléments sur chacun des produits, avec un couple ".htacess", ".htpasswd". Mais lorsque je met ça en place mon programme n'arrive plus à se connecter même en utilisant comme adresse :
De façon plus global, je me demandais aussi :https://$username:$password@$domaine/$url
-je suis parti du principe que mon script était "secure" car il ne fait rien si on ne lui donne pas les les bon ID et mp de connection à la BDD ... C'est valable ça ?
-avoir un script permettant d'exécuter n'importe quelle requête SQL (passé en paramètre ...), d'un point de vue architecturale voir même philosophique, ça vaut quoi ?
Merci à tous ceux qui prendront le temps de lire ce poste (et pour ceux qui y répondront carrément, je ne trouve même pas les mots ...)
Partager