web-dev-qa-db-fra.com

Stocker un mot de passe pour l'utiliser avec un plugin Wordpress

J'écris mon premier plugin Wordpress qui sera un plugin de type newsletter. Il va continuellement ajouter des membres qui remplissent un formulaire dans une table de base de données en gardant une trace de ce qui suit:

  • identifiant de cellule
  • Temps
  • Nom de membre
  • MemberEmail.

Lorsque j'envoie un courrier électronique aux participants à la newsletter, je souhaite l'envoyer via SMTP. Est-il possible de stocker un single $smtp_password dans l'un des fichiers php de mon plugin sans qu'il soit disponible au public? Ou peut-être stocker le mot de passe dans la base de données SQL, mais je ne pense pas qu'il soit nécessaire de créer une table entièrement nouvelle, n'est-ce pas?

Comment stockeriez-vous un mot de passe simple?

2
Amit

Si vous stockez le mot de passe dans PHP, il sera accessible à toute personne possédant le PHP (c'est-à-dire à toute personne disposant du plugin). Si vous la stockez dans la base de données, elle sera accessible à toute personne ayant un accès direct à la base de données (c'est-à-dire toute personne qui installe le plug-in et sait utiliser phpMyAdmin).

Cependant, pour stocker un mot de passe simple pour un plugin, j'utiliserais une option WordPress. Cela vous permet de récupérer facilement le mot de passe avec le code et rend les choses très flexibles. Il vous permet également de laisser l'utilisateur changer le mot de passe stocké si nécessaire.

// Retrieving the password
$smtp_password = get_option( 'my_smtp_password' );

// Setting the password
update_option( 'my_smtp_password', $new_smtp_password );

N'utilisez pas votre mot de passe habituel pour cet email. Je vous recommande de configurer un compte de messagerie dédié pour que votre site envoie des messages et de garder le nom et le mot de passe séparés de tout ce que vous utilisez personnellement.

2
EAMann