Sécurité de mon site Web

skystef

Membre actif
30 Novembre 2005
366
9
Je dois créer un site commercial en php/mysql et question sécurité je n'ai pas le droit à l'erreur. Pour l'accès au paramètre de la base de donnée (login et mot de passe) j'ai tout stocké dans un fichier que j'ai appelé secure.fic. Dès qu'il faut acceder à la base, j'ai un script qui lit les identifiants dans ce fichier.

Première question : est-ce que ce système est sécurisé?

J'ai créer une petite interface d'administration. Rien de bien compliqué, l'admin affiche la liste des devis en cours de la societé, et l'on peut consulter les devis et supprimer ceux qui ont été traités. Là idem, l'admin rentre son login + mot de passe (tout les formulaires sont en methode POST) et pour se connecter à la base, faire les vérifs etc... j'utilise toujours mon fichier secure.fic avec mon script php de connexion.

Est-ce suffisament sécurisé. Je ne gère pas de transaction financière en ligne mais la sécurité des informations des clients est primordiale.

Merci pour vos réponses....


PS: je suis débutant
ane.gif
 
la première idée qui me vient à l'esprit : le répertoire contenant secure.fic est-il accessible ou protégé ?
 
La sécurité est un domaine complexe.
Tu peux avoir des attaques de tous les côtés.
  1. par exemple, si quelqu'un arrive à lire ton fichier secure.fic, t'es mort. donc il faut que son répertoire ne soit pas visible. => sécurité des répertoires sur le serveur lui-même.
  2. tes formulaires HTTP peuvent être truandés aussi. Je vais sur ton site, je regarde la structure de tes formulaires HTML, et je fais ma propre page. => contrôle côté serveur des données postées. (les contrôle côté client c'est jsute pour le confort de l'utilisateur)
  3. => ta base peut être attaquée également, au travers des données des formulaires HTML (injection de code SQL dans les champs) => idem, contrôle des données postées ou alors bannir l'utilisation du SQL dynamique au profit des procédures stockées ou des "prepared statements"
  4. ...
  5. ...
Désolé, je suis loin d'être expert.

PS : question pour les perf. Dans ton fichier, tu déclares un compte générique ou bien des comptes pour tous les utilisateurs ? Si tu te connectes à la base avec des comptes personnels, tu ne pourras jamais passer par un pool de connexion et si ton site est très utilisé, gros problème de montée en charge :mouais:
 
Les champs des formulaires sont tous contrôlés, enfin dans la limite de que je sais faire. SI dans le champ "nom" un hacker rentre quelque chose malveillant... voilà quoi. Je peux vérifier la longueur et s'il y a des chiffres et pas de caractères ?./§^$*ù: mais c'est tout ce que je sais faire (via javascript, les formulaires ne sont envoyés que quand tout est OK).

Sinon, le fichier secure.fic se trouve dans un repertoire non caché. J'avais pensé le protéger via un fichier .htacess mais mes scipts doivent pouvoir y acceder sans que personne ne doivent taper de mot de passe... enfin ça fonctionne peut-être pas comme ça. :rose:
 
via javascript, les formulaires ne sont envoyés que quand tout est OK :eek::eek::eek:

Malheureux !
Ne crois surtout pas ça !

Je vais expliquer plus en détatil :
  1. je vais sur ton site
  2. je regarde ton code source de page HTML
  3. Je constate que le formulaire HTML envoie un champ NOM, dont le contenu est vérifié si ça t'amuse par du javascript (que l'utilisateur a très bien pu désactivé sur son navigateur...)
  4. Sur mon ordi, je crée ma page toto.html avec un formulaire contenant le champ NOM et que je poste sur la même URL que dans le vrai formulaire.
  5. J'envoie un formulaire non-contrôlé avec ma page sur ton serveur
  6. Tu te fais virer :(
Pour ton fichier, s'il n'est pas dans un répertoire caché, n'importe qui de malveillant peut tomber dessus, plus ou moins par hasard, Google lui-même finira par l'indexer. Je sais pas si tu connais les Lois de Murphy...
 
Pour ton fichier secure.fic,
Il doit impérativement être sur un répertoire non visible par internet.
Par contre, ton "programme" (PHP, Java, .NET...) qui est exécuté sur le serveur l'est avec un compte qui a pas mal de droits sur le serveur et qui sera capable de lire le fichier.

Bon courage
 
Bien t'a du taf... débutant et tu dois faire du super sécurisé... a coup de javascripts,

Bon juste une ou deux choses, ton histoire de fichier sécurisé avec tes données de connexions et tout et tout c'est bien on le fait tous de façon plus ou moins proche mais une réflexion me vient à l'esprit : tu vas le mettre comment ton fichier sur le site ? en FTP ??? biiiiip mauvaise réponse, tu y accède comment a ta BDD en ligne ? phpmyadmin ? en http... biiiiip mauvaise réponse, bref ce que tu peux croire bien caché peut etre eventé avant même d'avoir servis

Dans les faits il faut comprendre une chose si ton site est super-sensible et que quelqu'un comme toi le fait, il se fera casser sans problème (la même pour moi je ne frime pas), il faut être une tronche et être un bon hacker pour faire du très sur, la base est de maîtriser les attaques pour mettre en place une stratégie pour les éviter.

En gros notre boulot a nous est de décourager les crétins hackers du dimanche pour ça met du javascrit si ça te fait rire mais juste pour que papy ne te balance pas le formulaire de contact sans avoir mis son mail après c'est du php, cherche sur le net tu trouveras sans problème, tu as des fonctions qui rendent inoffensives les attaques genre injections mais les choses doivent être traité et sur traité au niveau du serveur dans ton script de réponse a ton formulaire pas avant... il faut aussi mettre les doigts dans la config de ton serveur pour le faire taire, proteger tes dossiers rendre ton site muet sur son contenu autant que possible, l'url rewriting... bref faut taffer quoi...

:up:

juste un petit exemple sur un site que j'ai fait il y a 4 ans, a l'epoque j'étais laxiste, et un jour un petit malin a trouvé mon script de contact a son gout, a detourné le formulaire, et a spamé avec comme un malade a partir de 4 machine au vue des ip... je me suis fait defoncé une boite mail !!! je ne pense pas que ton client apprecie ce genre de blague ... c'est un style d'aventure qui te fais comprendre qu'avec un peut plus de malveillance de sa part j'aurais eu mal a mon site... depuis je me protege, autant que je peux... ou sais, suit, apprend...
 
En effet il s'agit surtout d'agir du côté serveur plutôt que du côté client, donc avant que celui-ci ne voie l'info. Perso, j'utilise surtout php et pas JS pour cette raison. Avec PHP et les expressions régulières on peut très bien contrôler la nature des entrées (à propos, un tuto super sur www.phpfrance.com) et cela constitue un premier barrage très satisfaisant. Ensuite, pourquoi ne pas écrire tous ton script php sur un fichier annexe et l'appeler par "require", comme ça même si le serveur merde rien ne va s'afficher...
Ensuite, contrôle bien les autorisations des users de ta BD...

Courage, je suis dans la même m...!
 
Deux choses à ne pas oublier sur un formulaire, d'abord faire un "htmlentities" sur les superglobales $_GET ou $_POST.
. Puis démarrer les scripts de retour formulaires avec une condition qui autorise la visite depuis ta seule page de formulaire et tu regles déja une très grosse part des problèmes de sécurité.