Protégez les clés d'accès à vos données les plus précieuses : génération de mots de passe cryptographiques, rotation sans interruption de service et injection sécurisée.
Génération aléatoire de chaînes d'au moins 32 caractères sans mots du dictionnaire.
Interdiction formelle de laisser des identifiants dans le code source ou les scripts Git.
Procédure documentée pour renouveler les identifiants sans coupure de service.
Utilisation des Secret Managers pour les infrastructures d'entreprise distribuées.
# 1. Générer un mot de passe cryptographique fort de 32 caractères $ openssl rand -base64 24 q7Z#xP9!mK4$vL8@wN2&jR6%tY1* # 2. Renseigner l'URI dans le fichier .env protégé du serveur $ nano /var/www/mon-api/.env DATABASE_URL="mysql://app_user:q7Z%23xP9%21mK4%24vL8%40wN2%26jR6%25tY1%2A@127.0.0.1:3306/app_production" # 3. Attention à l'encodage URL si le mot de passe contient des caractères spéciaux (#, @, !) # Dans l'URL : # '#' devient '%23' # '@' devient '%40' # '!' devient '%21'
protocole://user:motdepasse@hote, le symbole @ sert de délimiteur entre les identifiants et l'hôte. Si votre mot de passe contient un @ non encodé (qui doit s'écrire %40), l'ORM pensera que le mot de passe s'arrête là et la connexion échouera avec Access Denied ! GRANT OPTION ou l'accès aux tables système de MySQL. Si l'application subit une injection SQL, l'attaquant sera cantonné à la seule base concernée sans pouvoir s'octroyer les droits root. | Caractère | Rôle dans l'URI | Valeur Encodée Obligatoire |
|---|---|---|
| @ | Sépare identifiants et nom d'hôte | %40 |
| : | Sépare nom d'utilisateur et mot de passe | %3A |
| / | Sépare le port et le nom de la base | %2F |
| # | Indique le début d'un fragment d'URL | %23 |
| ? | Indique le début des paramètres (ex: sslmode) | %3F |