Je viens juste de décrocher un concert en PHP5. Je ne traiterai pas les parties de l'application qui impliquent des données extrêmement sensibles, mais je connais encore mal la méthode de sécurité et de cryptage. Je ne connais que les bases (ne stockez pas les mots de passe en texte clair, n'autorisez pas les utilisateurs à exécuter du code à l'aide de données de publication, etc.). Que dois-je savoir pour sécuriser mes applications et où puis-je l’apprendre?
Réponses
Trop de publicités?Apprenez la différence entre les hachages et de chiffrement. Chiffrement sont généralement les deux sens, les interprétations de la chaîne. Je peux crypter mon mot de passe, puis déchiffrer en texte en clair à nouveau. L'idée derrière les hachages sont qu'ils deviennent un moyen " de cryptage.'
Sur mes sites, j'ai stocker les mots de passe que les tables de hachage. Chaque fois qu'un utilisateur se connecte, je re-hachage leur mot de passe fourni, pour tester la valeur de hachage stockées dans la base de données et d'approuver si elles correspondent. Je ne peux pas leur envoyer leur mot de passe si on l'oublie, car (en général), il n'existe aucun moyen pour moi de savoir.Deux chaînes peuvent se traduire par le même hachage, ce qui en fait (en général), impossible de savoir ce que la chaîne d'origine a été.
C'est une question qu'il est bon de comprendre et de discerner quand utiliser le chiffrement vs les tables de hachage.
Ne sais pas écrire votre propre fonctionnalité de chiffrement. Un de confiance de la bibliothèque est la meilleure façon de le faire dans la mesure du possible. Éviter cool, à la pointe des technologies qui manque beaucoup de succès programmeur heures de l'utilisateur et de heures derrière eux. Savoir ne pas faire confiance à la fonctionnalité que vous choisissez jusqu'à ce que vous avez soigneusement testé vous-même, à la première personne. Se tenir au courant des nouveaux développements qui antiquate votre choix de fonctionnalités pour la nuit. Savoir que juste parce que vous êtes à l'aide de la meilleure technologie de cryptage disponibles aujourd'hui que vous avez protégé rien si vous laissez les clés sur la table (par exemple, en texte clair n'est pas dans un cache ou stockés dans un autre tableau de la même base de données, les clés privées ne pas être laissée à l'air libre)
- Comprendre la différence entre le chiffrement et de hachage
- Comprendre la raison de sels
- Comprendre que HTTP est clair
- Comprendre ce qu'est HTTPS
- Comprendre que vous ne serez jamais (ou presque jamais) être en mesure de créer de meilleures hachage ou de méthodes de cryptage que ce 3ème partie libs et intégré dans les libs déjà faire