Position actuelle: Accueil> Derniers articles> Guide des paramètres de cryptage de la base de données Laravel et de la table

Guide des paramètres de cryptage de la base de données Laravel et de la table

gitbox 2025-07-02

Méthode de réglage du cryptage de la base de données Laravel et du préfixe de table

Laravel est un cadre PHP populaire qui a non seulement une syntaxe élégante, mais fournit également des outils riches et des API pratiques pour créer des applications Web de haute qualité. Dans le développement réel du projet, la sécurité des données et la standardisation de la structure des bases de données sont particulièrement importantes. Cet article expliquera comment effectuer des opérations de chiffrement de base de données dans Laravel et configurer les préfixes de table de base de données pour améliorer la sécurité et la maintenabilité du système.

Méthode de mise en œuvre du chiffrement de la base de données Laravel

Dans le développement réel, la base de données stocke généralement des informations sensibles des utilisateurs, telles que le numéro de compte, le mot de passe, l'adresse e-mail, etc. Par conséquent, le traitement du cryptage est particulièrement nécessaire. Laravel peut utiliser l'extension OpenSSL de PHP pour implémenter les opérations de chiffrement et de décryptage des données. Il est recommandé de l'utiliser avec des variables d'environnement pour assurer la sécurité de la clé.

Crypter le mot de passe de la base de données

$ key = env ('app_key');
$ iv = env ('app_iv');
$ mot de passe = openssl_encrypt ('your_db_password', 'aes-256-cbc', $ key, 0, $ iv);

Grâce au code ci-dessus, le mot de passe de la base de données peut être chiffré. La clé (APP_KEY) et le vecteur d'initialisation (APP_IV) requis pour le chiffrement doivent être configurés dans le fichier .env du projet Laravel.

Décripter le mot de passe de la base de données

$ key = env ('app_key');
$ iv = env ('app_iv');
$ mot de passe = openssl_decrypt ($ crypted_password, 'aes-256-cbc', $ key, 0, $ iv);

Le processus de décryptage est symétrique à la méthode de chiffrement, et vous n'avez qu'à vous assurer que le mot de passe d'origine est restauré avec succès en utilisant la même clé et le même vecteur.

Générer des clés et des vecteurs

PHP Artisan Key: Générer -
PHP Artisan Key: Generate --show | grep "^ app_iv" >> .env

La première commande est utilisée pour générer la clé d'application, et la deuxième commande peut dire directement le vecteur d'initialisation dans le fichier de configuration de l'environnement pour éviter l'ajout manuel d'erreurs possibles.

Configuration du préfixe de la base de données Laravel

Afin de mieux gérer la base de données et d'éviter les conflits de nom de table, Laravel offre la fonction de définir les préfixes de table de base de données. Particulièrement adapté aux systèmes multi-modules ou multi-langues.

Configurer les préfixes de table dans les fichiers .env

Db_prefix = votre_prefix

Après avoir réglé le préfixe, Laravel ajoutera automatiquement un préfixe spécifié aux opérations de base de données ultérieures pour une gestion unifiée facile.

Utilisez la migration pour créer une table avec préfixe

Schéma :: Create ('your_table_name', fonction (tableau Blueprint $) {
    $ table-> incréments ('id');
    $ table-> string ('name');
    $ Table-> String ('Email') -> UNIQUE ();
    $ table-> booléen ('actif') -> Default (false);
    $ Table-> TimeStamps ();
    $ table-> unsignedInteger ('user_id');
    $ Table-> Foreign ('user_id') -> références ('id') -> on ('utilisateurs');
});

Sans ajouter manuellement les préfixes pendant la migration, Laravel reconnaîtra et s'appliquera automatiquement.

Utilisez automatiquement les préfixes lors de la requête

$ utilisateurs = db :: table ('your_table_name') -> get ();

Lorsque vous interrogez à l'aide de la méthode DB :: Table , le framework ajoute automatiquement un préfixe défini au nom de la table, tel que votre_prefix_your_table_name , sans opérations supplémentaires.

Résumer

Grâce à la configuration ci-dessus, Laravel peut non seulement chiffrer les informations de base de données sensibles, mais également implémenter facilement les paramètres de préfixe de table de base de données. La combinaison de l'utilisation des variables environnementales et des outils de migration améliore non seulement la sécurité du projet, mais améliore également la flexibilité de la gestion des bases de données.