Maison > développement back-end > tutoriel php > Pourquoi mon mot de passe avec un signe dollar se casse-t-il en PHP ?

Pourquoi mon mot de passe avec un signe dollar se casse-t-il en PHP ?

Susan Sarandon
Libérer: 2024-11-20 00:02:03
original
183 Les gens l'ont consulté

Why Does My Password With a Dollar Sign Break in PHP?

Dollar ($) Chaîne de mot de passe de connexion : confusion des variables

En PHP, un signe dollar ($) dans une chaîne indique généralement une variable. Cependant, cela peut créer des problèmes lors du traitement des mots de passe contenant le caractère.

Problème :

Lorsqu'un script PHP tentait de se connecter à une base de données, une valeur de mot de passe incorrecte était envoyé. Le mot de passe contenait un signe $, et celui-ci a été interprété comme une variable plutôt que comme une partie du mot de passe.

Solution 1 : Échapper au signe dollar

Pour résoudre le problème , le signe dollar a été échappé à l'aide d'une barre oblique inverse () :

$_DB["password"] = "mypas$word";
Copier après la connexion

Cela a effectivement traité le caractère $ comme une valeur littérale, permettant d'envoyer le mot de passe correct.

Un autre Solution : Chaînes de guillemets simples

Une solution alternative consiste à utiliser des chaînes de guillemets simples pour le mot de passe :

$_DB['password'] = 'mypas$word';
Copier après la connexion

Les chaînes de guillemets simples ne sont pas traitées par PHP et sont prises en compte exactement tels qu'ils apparaissent. Cette approche empêche le signe $ d'être interprété comme une variable.

Gestion de la récupération du mot de passe à partir de la base de données

Si le mot de passe est stocké dans une base de données, le même problème pourrait potentiellement se produire lorsque PHP le récupère. Pour éviter cela, la base de données doit être configurée pour stocker le mot de passe dans une chaîne correctement formatée, avec tous les caractères spéciaux échappés ou en utilisant des chaînes entre guillemets simples.

Bonnes pratiques

Pour les chaînes qui ne nécessitent pas de substitution de variable ou de caractères spéciaux, il est recommandé d'utiliser des chaînes entre guillemets simples. C'est plus sécurisé et à l'épreuve des erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal