Tom's Guide > Forum > Programmation > Password en Dos
Mot :    Pseudo :           
 

Bonjour,

Je voudrais savoir si c'est posssible de rajouter quelque choses (dans un programme batch) qui demanderai un password pour ouvrir le programme.

Exemple: Le gars clique sur le programme qui l'amène sur une demande d'autorisation. Le gars entre le code dans le programme dos et ensuite le programme s'execute. Si la personne n'entre pas le bon code, et bien le programme fais autre chose, "comme se fermer par exemple"

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

ça m'étonnerais
le batch c'est pas fait pour ça à l'origine

Répondre à sman_

Je sais, mais il n'y a pas une manière d'étourner d'y arriver.?

Si oui, quelqu'un pourrait t-il me l'expliquer svp?

Répondre à Pas2

avec la gestion des niveaux d'erreur, peut etre ouais, mais bon... ça se limiterait a une liste avec plusieurs chois differents.. pas grand chose quoi

Répondre à sman_

J'ai eu une idée vage, mais elle reste a développer.
la voici:

@echo off
cls
set code=Pascal "rem le mot de Pass"
echo entre votre code:
xxxxxxxxxxxxxxxx "rem la ou je bloque"
if not"<%code%>"=="<Pascal>" <goto fin> "rem compare le code rentrer avec le mot de pass"
echo Password Correct "rem si le bon code est rentrer"
pause>nul
:fin
echo Password incorrect "rem si le mauvais code est rentrer"
exit

La ou je bloque c'est de faire rentrer le mot de pass par l'utilisateur.

Alors si jamais sa peut donné une idée à quelqu'un?

Répondre à Pas2

bin c'est ça le pb
je cherche le moyen de faire un input mais je trouve pas
mais c'est pas pke je trouve pas que ça doit pas exister ;(

je cherche et si je trouve, je te préviens
mais bon, tant qu'a faire, fait une petite appli en VB pour le pass, c'est relativement plus simple

Répondre à sman_

Dsl, je ne connait pas le VB :-?

Et merci pour t'es effort.

Répondre à Pas2

Dsl, je ne connait pas le VB :-?

Et merci pour t'es effort.

Répondre à Pas2

C'est pas simple du tout à faire en .BAT sous windows car il n'existe pas d'équivalent READ unix (pour recuperer une chaine caractere et la placer dans une variable).

Un certain nombre de solution sont proposées ici :User Input dont certaines qui utilisent la commande format ou label :-o

Mais bon, mon conseil c'est plutot d'ecire un petit programme C pour faire ca ...

:-D

Répondre à Zx-81@IDN

Je vien de trouvé une autre méthode.
Là voici:

@echo off
cls
echo Veuillez entrer le premier caractere de votre code:
choice /c:123
if errorlevel 3 goto 3
if errorlevel 2 goto 2
if errorlevel 1 goto 1
pause>nul
:1
cls
echo Veuillez entrer le deuxieme caractere de votre code:
choice /c:123
if errorlevel 3 goto 3.1
if errorlevel 2 goto 2.1
if errorlevel 1 goto 1.1
pause>nul
:2.1
cls
echo Veuillez entrer le troisieme caractere de votre code:
choice /c:123
if errorlevel 3 goto 3.2
if errorlevel 2 goto 2.2
if errorlevel 1 goto 1.2
pause>nul
:3.2
cls
echo Code correct
pause>nul
goto 4
:3
:2
:3.1
:1.1
:2.2
:1.2
cls
echo Code incorrect
pause>nul
:4
cls
exit

Il n'y a qu'un seule problème; c'est la facilité a trouvé le code. (personnellement ca ma pris 30 senconde:-)) Mais c'est un début. :-D

Répondre à Pas2

si tu es sur un système en ntfs, il te suffi de changer les droits du dossier du programme en question, ex :

toto.exe, dans soft, le répertoire soft appartient à l'utilisateur machin, et personne d'autre n'a le droit d'executer un programme qui s'y trouve, ton utilisateur doit donc faire :
executer en tant que, et tapper le login et le pass (tu peux faire un petit programme en C qui gère tout ça)


autre méthode, encapsuler ton programme dans une archive avec mot de passe, l'extraction lançe le soft, et l'efface à la fin de son utilisation


les autres méthodes, comme ton script sont trop facilement contournables, il suffi de lancer le programme directement depuis son emplacement pour se passer du mdp

Répondre à maith

Wow

Ta méthode en encapsullent le fichier; Brillant!!!

Simple, mais brillant. :-D

Merci encore.

Répondre à Pas2

Tu peur aussi définire une variable au clavier avec:

Code :
  1. set /p NomVariable= Entrez une valleur:


Puis utiliser un IF pour la comparer avec une autre variable!

Répondre à bbs@IDN

Je jamais mettre de mot de passe ni de test de mot de passe dans un batch, toujours passer par autre chose comme ce qui a été proposé:
- NTFS (il faut avoir un disque NTFS)
- un programme compilé C ou autre (me parait être la solution la plus sûre).

Répondre à CRicky
Tom's Guide > Forum > Programmation > Password en Dos
Aller à :

Il y a 2269 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens