web-dev-qa-db-fra.com

Où stocker de manière sécurisée les clés d'API et les mots de passe dans WordPress?

Je cherche à utiliser quelques API et beaucoup viennent avec des clés, des clés secrètes et des mots de passe nécessaires pour fonctionner. Où dans WordPress pouvez-vous stocker cette information? En supposant que quelqu'un puisse pirater votre base de données, est-il possible que WordPress sécurise davantage l'enregistrement de ces informations? En outre, envisagez la possibilité de changer ces clés très souvent, de sorte que je devrais mettre à jour les clés sur une page d'options.

METTRE À JOUR

8
jgraup

Il n’existe aucun moyen absolument sûr de stocker ces informations de manière permanente.
Vous avez deux options pour augmenter un peu la sécurité:

  1. Utilise le tableau des options et chiffre les données

    Utilisez une méthode de chiffrement strong et liez-la à l'une des actions suivantes:

    • votre mot de passe lorsque vous souhaitez utiliser l'appel API uniquement lorsque vous êtes connecté, ou
    • une clé secrète stockée dans votre wp-config.php - un attaquant a alors besoin des deux, le PHP code et de la base de données
  2. Stocke les informations d'accès en dehors de WordPress

    Si vous utilisez un système pour un déploiement automatique, basé par exemple sur Composer et wpstarter , vous avez probablement un type de serveur de déploiement tel que Envoyer qui crée un fichier contenant des variables de configuration importantes: stocké en dehors de la racine du document du serveur de site} _.
    Vous pouvez ensuite utiliser le serveur principal du serveur de déploiement au lieu du serveur principal WordPress pour modifier ces données.

Les deux options ne sont pas complètement sûres. Vous devez toujours surveiller l'utilisation actuelle de l'API pour détecter les activités non prévues. Assurez-vous qu'il existe un journal qui ne peut pas être compromis par une personne disposant d'un accès complet à votre site Web.

8
fuxia

La réponse est non. Si votre base de données peut être espionnée, votre code le sera probablement aussi. Par conséquent, même si vous cryptez des données, elles peuvent être déchiffrées.

Si vous envisagez de stocker des données sensibles, aucune solution de bas niveau ne peut vous aider. Il vous suffit de sécuriser l'ensemble de votre application pour que la question du stockage ne soit plus pertinente.

En fait, je me suis heurté à l'obligation de chiffrer les données. Par conséquent, si la sécurité de l'application est violée et que vous ne pouvez accéder qu'à la base de données, vous ne pouvez pas utiliser ces données, mais dans la vie réelle, vous êtes plus susceptible d'être piraté au niveau wordpress qu'au niveau de la base. .

3
Mark Kaplun