xxmaasterxxo1
Goto Top

Batch User-Eingaben speichern

Hallo,
ich beschäftige mich seit einiger Zeit mit Batch Programmierung. Ich habe nun ein Programm erstellt, mit dem man sich einloggen muss (Man muss Benutzernamen und Passwort eingeben, um auf "gesicherte" Daten zugriff zu haben). Jeoch muss ich den Benutzer und das Passwort in die Batch datei einfügen.

Wie kann ich eine "Registrierung" erstellen, mit der sich der User ein Passwort und einen Benutzernamen aussuchen kann?
Danke für Antworten

Mit freundlichen Grüßen
xXmasterXxo1

PS: Weil ich mich gerade hier Registriert habe, weiß ich leider noch nicht, wie man ein Zitat einfügen kann. Deswegen hier einfach meine jetzige login Methode:
:login 
echo Bitte loggen Sie sich ein.
echo.
echo Bitte geben Sie einen Benutzernamen ein.
set /p USERNAME=Benutzername:
if /i %USERNAME%==Rene goto Rene_PSW
echo Sie haben den falschen Benutzernamen eingegeben!
ping 1.2.3.4 -n 1s >NUL
cls
goto login

:Rene_PSW
cls
echo Bitte geben Sie ihr Passwort ein.
set /p RenePSW=Passwort:
if /i %RenePSW%==************* goto Accept (Passwort nur unkentlich gemacht ;-) )
echo Sie haben das falsche Passwort eingegeben!
echo Bitte warten Sie einen Augenblick!
ping 1.2.3. -n 1s >NUL
cls
goto Rene_PSW

Content-Key: 256294

Url: https://administrator.de/contentid/256294

Printed on: April 20, 2024 at 11:04 o'clock

Member: Dani
Dani Nov 29, 2014 at 17:16:47 (UTC)
Goto Top
Moin,
herzlich Willkommen auf administrator.de. face-smile
Dein Ansatz in aller Ehre, aber das ist aus meiner Sicht einfach nur eine Methode um Kinder von Daten fernzuhalten. Jeder andere öffnet die Batchdatei Editor und liest den Benutzer und Passwort aus.

Erzähl uns erstmal was für Daten zu schützen willst und wo diese liegen. Allers andere macht keinen Sinn...


Gruß,
Dani
Member: xXmaasterXxo1
xXmaasterXxo1 Nov 29, 2014 updated at 17:26:51 (UTC)
Goto Top
Ich möchte keine weltbewegende Sachen schützen (also eher Kleinigkeiten). Die .bat Datei konvertiere ich in eine .exe weshalb man diese nicht direkt auslesen kann. Hier einmal der gesammte Quelltext (ich hoff Sie können damit es anfangen und wissen nun, was ich meine ):

@echo off
title Login

:login
echo Bitte loggen Sie sich ein.
echo.
echo Bitte geben Sie einen Benutzernamen ein.
set /p USERNAME=Benutzername:
if /i %USERNAME%==Rene goto Rene_PSW
echo Sie haben den falschen Benutzernamen eingegeben!
ping 1.2.3.4 -n 1s >NUL
cls
goto login

:Rene_PSW
cls
echo Bitte geben Sie ihr Passwort ein.
set /p RenePSW=Passwort:
if /i %RenePSW%==* goto Accept
echo Sie haben das falsche Passwort eingegeben!
echo Bitte warten Sie einen Augenblick!
ping 1.2.3. -n 1s >NUL
cls
goto Rene_PSW

:Accept
cls
echo Eingeloggt.
echo Bitte warten..
ping 1.2.3. -n 1s >NUL
cls
goto Main

:Main
cls
color a
echo Sie befinden sich nun im Main-Menue der Passwortgesicherten Software!
pause >NUL

@Dani:
Member: rubberman
rubberman Nov 29, 2014 updated at 17:38:47 (UTC)
Goto Top
Hallo xXmasterXxo1, willkommen im Forum.

Die .bat Datei konvertiere ich in eine .exe weshalb man diese nicht direkt auslesen kann.
Das glaubst auch nur du. Wir haben hier schon gefühlte elfundneunzigmal darauf hingewiesen, dass das Nonsens ist. Dein Batchcode wird bei der Ausführung im Klartext in deinem %temp% Verzeichnis auftauchen. Und da der Code auf Benutzereingabe wartet, hat man alle Zeit der Welt daran herum zu manipulieren. Die Risiken und Nebenwirkungen die dieser Bat2Exe Kram noch so mitbringt, will ich hier gar nicht näher erörtern ... Batch ist ein Script und du solltest es dabei belassen. Für Passwortvergleiche ist es definitiv vollkommen ungeeignet.

Grüße
rubberman
Member: AnkhMorpork
AnkhMorpork Dec 01, 2014 at 07:56:18 (UTC)
Goto Top
Hallo,

oder nimm zumindest die Powershell als Scriptsprache. Get-Credential ist da dein Stichwort.
Wirklich sicher ist das zwar auch nicht, aber besser als Batch.

Gruß

ankh
Member: DevSodoku
DevSodoku Sep 26, 2018 at 18:13:25 (UTC)
Goto Top
Es ist zwar ein bisschen spät aber hab mich rangemacht und jetzt ein Batch Programm geschrieben aber wirklich sicher ist es trotzdem nicht...

@echo off &setlocal

SET Denie=0

::Start Menü::

COLOR b

ECHO Login[1] oder Register[2]

CHOICE /C:12 /N /M "Geben sie 1 ein um in den Login Bereich zukommen oder 2 um in den Register bereich zukommen : "  

IF Errorlevel 2 goto Register

IF Errorlevel 1 goto Login

::Login::

:Login

CLS

SET /p Nutzername="Bitte geben sie ihren Nutzername ein: "  

FINDSTR "%Nutzername%" C:\OrdnerZumSpeichernDerBenutzer\%Nutzername%.txt>NUL  

PAUSE>NUL 9999

IF Errorlevel 1 GOTO Denie

COLOR A

CLS
	
PAUSE>NUL 5 /nobreak

SET /p Passwort="Bitte Passwort eingeben: "  

FINDSTR "%Passwort%" C:\OrdnerZumSpeichernDerBenutzer\%Nutzername%.txt>NUL  

IF Errorlevel 1 GOTO Denie
    
CLS
	
ECHO Sie sind jetzt als %Nutzername% Angemeldet.
	
TIMEOUT>NUL 8 /nobreak

GOTO Dateien 


::Register Bereich::

:Register

CLS

SET /p Nutzername="Bitte neuen Nutzername hier eingeben: "  

CD C:\

IF NOT EXIST OrdnerZumSpeichernDerBenutzer MD OrdnerZumSpeichernDerBenutzer

ATTRIB +h +s C:\OrdnerZumSpeichernDerBenutzer

ECHO %Nutzername% >> C:\OrdnerZumSpeichernDerBenutzer\%Nutzername%.txt

SET /p Passwort="Bitte Passwort hier eingeben: "  

SET /p Password="Bitte Passwort wiederholen: "  

IF %Passwort% == %Password% goto AcceptR

EXIT

::Fehler im Login Bereich::

:Denie

CLS

SET /a Denie=%Denie%+1

IF "%Denie%"=="3" Exit  

ECHO Sie haben das Passwort oder den Benutzername %Denie% mal Falsch eingegeben versuchen sie es bitte nochmal...

TIMEOUT>NUL 5 /nobreak 

GOTO Login

::Accept Bereich Für Register::

:AcceptR

CLS

ECHO Sie haben ihr konto jetzt erstellt.

ECHO %Passwort% >> C:\OrdnerZumSpeichernDerBenutzer\%Nutzername%.txt

CD  C:\OrdnerZumSpeichernDerBenutzer\

ATTRIB +h +s %Nutzername%.txt

TIMEOUT>NUL 5 /nobreak

GOTO Login


::Rest der Batch hier einfügen::

:Main

Ich hab erst nachdem ich die Batch Datei fertig hatte auf das Datum des Posts geschaut...

Liebe Grüße,
DevSodoku