Nous développons un programme qui contient un mécanisme de connexion. Pour plus de commodité, les informations d'identification de l'utilisateur sont automatiquement saisies lors de l'utilisation d'une version de débogage.

#if DEBUG
  UsernameTextBox.Text = "someName";
  PasswordBox.Password = "somePassword";

Si je comprends bien, cela ne serait pas compilé dans une version de version et peut être laissé dans le code en toute sécurité (tant que les utilisateurs n'obtiennent que la version de version). Est-ce vrai?

0
Dietrich 8 oct. 2020 à 09:46

1 réponse

Meilleure réponse

Absolument pas!

Tout d'abord, jetez un œil à ceci : https : //security.stackexchange.com/questions/191590/why-is-storing-passwords-in-version-control-a-bad-idea

Solutions de contournement : Comment éviter de stocker les mots de passe dans le contrôle de version ?

Si votre question est de savoir si elle peut être récupérée à partir de l'exécutable ou de la dll, la réponse est non.

Lorsque le compilateur C# rencontre une directive #if, suivie éventuellement d'une directive #endif, il compile le code entre les directives uniquement si le symbole spécifié est défini. Contrairement au C et C++, vous ne pouvez pas affecter une valeur numérique à un symbole. L'instruction #if en C# est booléenne et teste uniquement si le symbole a été défini ou non.

Le code n'est même pas compilé, donc pas inclus dans l'exécutable.

4
Athanasios Kataras 8 oct. 2020 à 07:03