|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Bonjour à tous,
Je vais faire un site internet qui doit être très sécurisé afin d'éviter tout hackage de ma base de donnée. N'étant pas un confirmer en terme de sécurité, je souhaite m'adresser à vous afin d'avoir des conseils pour diminuer les disques que ma base de donnée soit "volée" eainsi que les info qui sont dedans. Je pose la même question pour le codage PHP. Mes premières réflexions sont. 1) Derniere vesrion de PHP 2) Ne pas utiliser de include() mais des include_once() 3) utiliser strip_tag() pour la recupération des données d'un formulaire 4) Utiliser $_POST et pas $_GET 5) Pour l'insertion des données dans ma base de donnée, utiliser la fonction mysql_real_escape_string() 6) Héberger le site en https:// Voilà, que me suggèreriez-vous encore? Je pense aussi utiliser des sous-domaines. Es-ce aussi recommandable? Merci à tous
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
1 - c'est toujours mieux même si l'exploitation de bug PHP ce n'est pas vraiment le cas courant
2 - la je ne vois pas l'avantage en securité 3 - surtout htmlspecialchars() quand tu affiches des données externes 4 - pas de reelle différence de sécurité entre les deux 5 - pour toute requête utilisant des données externes ; mieux : utiliser PDO. 6 - https vise seulement a empecher l'interception des données circulant entre le client et le serveur web. En particulier il faut considérer toute donnée provenant de l'utilisateur (formulaire, paramètre dans l'url) comme pouvant avoir été falsifié. |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Gérant - société de développement web Inscription : avril 2007 Messages : 290 ![]() |
Bonjour à tous,
Pour le point 2 je dirais que l'avantage est d'éviter les messages d'erreurs "Class/fonction déjà définit" par exemple si on inclue deux fois le fichier d'une class ou de fonctions. Après tout ce qu'a dit Sabotage est bon, PDO à utiliser surtout si tu utilise autre choses que du MySQL et PgSQL et que le SGBD(R) que tu utilise n'a pas de fonction native de sécurisation dans PHP. Pour le https:// un certificat authentifié et signé coute un certain pris entre 20 et 2800 euro /an... Et si tu ne le signe pas c'est pas bon du tout sur plusieurs point, donc un certificat signé ou pas du tout. Ensuite un certificat c'est une consommation de bande passante en plus. Cordialement,
__________________
Si vous débutez en PHP : Tutoriel pour grands débutants Mes tutoriels : http://alexandre-joly.developpez.com/ |
|
|
00
|
|
|
#4 |
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Merci pour vos réponses.
Es-ce qu'on peut privé l'acces d'un dossier pour ceux qui y accede via le browser, mais en revanche autorisé sont accès pour le code. Par exemple, si je tape http://www.site.ch/dossier/ je dois recevoir un message d'erreur, qu'importe lequel. (un htaccess ferais bien l'affaire) Mais en revanche, si je tape un code du genre ca doit marcher. Bonne année à tous!!!
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
|
|
00
|
|
|
#5 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
C'est deja ce qui se passe : htaccess ne concerne que les fichiers distribués par apache et non les fichiers lus directement sur le disque.
|
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : octobre 2009 Messages : 17 ![]() |
Comme ça a déjà été dit précédemment, si tu n'es pas sûr de ton code en relation avec ta BDD, utilise PDO, ça comblera déjà pas mal de trous.
Tu peux utiliser https si les membres de ton site doivent communiquer des informations sensibles, comme des coordonnées bancaires. Je ne pense pas que ça vaille le coup dans le cas contraire... À confirmer. Si tu te sers des sessions, pense à utiliser "session_regenerate_id" quand tes utilisateurs se loggent, ça peut toujours servir. |
|
|
00
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
#5 - Une remarque, contrairement à une légende largement répandue, PDO seul ne suffit pas à sécuriser les échanges entres ta DB et PHP: pense à utiliser les requêtes préparées là où tu peux et les transactions là où c'est nécéssaire. Si c'est pour reproduire le même fonctionnement que les fonctions mysql classiques, il n'y a pas de grand intérêt à utiliser PDO.
#4 - ça aussi c'est une croyance populaire, absolument TOUT ce qui arrive de l'utilisateur présente un risque potentiel. Néanmoins, je te recommande l'usage systématique de $_REQUEST qui caractérise à la fois $_GET et $_POST, ça simplifie bien les choses. #6 - Ce n'est vraiment utile que dans des cas bien particulier: informations confidentielles, paiement en ligne, messagerie privée etc. ça ne fait que crypter les échanges client/server par SSL, ça ne protège pas vraiment ton site. Je rajouterai ça pour ma part: #7 - Un error reporting correct, un handler d'erreur avec écriture dans un fichier de log #8 - Une utilisation SYSTEMATIQUE de isset et empty (pas la peine de mettre les deux à chaque fois comme je le vois un peu partout: empty est une surcouche de isset)
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#8 |
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Salut a tous,
Merci pour vos réponses. Je connais pas PDO, mais je vais m'y pencher dessus.
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mai 2010 Messages : 97 ![]() |
Bha tout a été dit mais sans vouloir t'effrayer, le web est un terrain dangereux! (tjr révé de dire ca^^). serieusement si quelqu'un est assez doué en hacking et decide de hacker ta BDD (il y a assez d'outils pour des utilisateurs mal intentionnés) et bha il y arrivera, cela dit, il mettra plus ou moin de temps selon le niveau de securité. (apres un site internet quelconque (pas celui de la NASA par exemple) n'est pas constement attaqué ou harcelé par les hackeurs
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com