Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Erweitertes Login

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 27.09.2007, 18:46    Titel: Erweitertes Login Antworten mit Zitat

Endich mal wieder was neues zwinkern

Ein schönes nettes Loginprogramm..
Fehlt nur noch die Verschlüsselung grinsen



Code:
guckst du unten ;)

_________________
Bis irgendwann... grinsen


Zuletzt bearbeitet von AndT am 03.05.2008, 22:40, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 27.09.2007, 19:42    Titel: Antworten mit Zitat

Nix zum Programm, sondern eher allgemein.
- Keine Einrückungen
(- Warum GoTo?)
- Das "Programm" sollte lieber nicht anzeigen, was falsch war/nicht angegeben wurde, sondern wenn was nicht stimmt eine Art "Access denied! Try again." bringen. In Verbindung mit einer maximalen Anzahl an Versuchen + einer für den Gebrauch nicht störenden, für Brute-Force- oder Dictionary-Attacken aber großen Verzögerung, bis ein erneuter Versuch möglich ist.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 27.09.2007, 20:27    Titel: Antworten mit Zitat

Alles gepatcht zwinkern (GOTO'S AUCH Zunge rausstrecken)
Code:
dim shared as integer loginrtr

sub ende
     Print "Eine Taste zum beenden druecken.."
    sleep
    end
end sub

sub blocker
    randomize timer
    dim as integer w1 = timer
do
sleep 1
loop until INT(TIMER) = w1 + INT(RND * 3)+2 ' Rein Zufällig :p
Print "Weiter mit ESC.."
do
sleep 1
loop until inkey = chr(27)
end sub


function checkusername(uname as string,passwx as string) as ubyte
    dim as integer nlgh = len(uname)
    if nlgh = 0 then beep : function = 1:exit function
    open uname for input as #240
    if lof(1)= 0 then function = 2
    dim as string passw
    input #240,passw
    close #240
    if len(passw)=0 then function = 2:exit function
    if passwx=passw  then function = 254 : exit function else function = 3
    end function

function usercheck(uname as string,passwx2 as string) as string
    dim as ubyte XID
    XID = checkusername(uname,passwx2)
    select case xid
    case 254
        Function = "login erfolgreich abgeschlossen"
    case else
        Function = "login fail!"
        end select
end function

function userregister(uname as string,passwx as string) as string
    open uname for input as #1
    if passwx = "" then Function = "password not setted!":close #1 :sleep:exit function
    close #1
    open uname for output as #1
    print #1,passwx
    if lof (1) > 0 then function = "all ok" else function = "error"
    close #1
end function


Function EnterPassw as string
    dim as string passwort
    dim as string Eingabe
    dim as integer passwortlaenge
    Print "Passwort eingeben (wird nicht angezeigt)..?"
    Do
        Eingabe= input(1)
        If Eingabe=Chr(13) then Exit Do
        If Eingabe=Chr(8) Then Passwort=MID(Passwort,1,Len(Passwort)-1) else Passwort + = Eingabe :
    Loop
    Function = Passwort
end function


sub neuerbenutzer
    Print "Neuer Benutzer.."
    dim as string Uname,Upassw
    Input "Benutzername..";Uname
    Upassw=Enterpassw
    print userregister (Uname,Upassw)
    print "ferdisch.."
    close #1
    sleep
   
end sub


sub login
    print "login"
loginrtr=0
back_login:
Print "Login.."
dim as string Uname,Passwort

Input "Benutzername.. (.exit zum beenden eingeben)";Uname
if LCASE(Uname)=".exit" then Print "Login verlassen, Taste zum fortsetzen..":exit sub
dim as integer nochmal
for nochmal = 1 to 3
Passwort = Enterpassw
IF  usercheck(Uname,Passwort) = "login erfolgreich abgeschlossen" then PRINT "PASSWORT KORRECKT :) ZUGANG ERHALTERN" : exit for : else print "Zugang verweigert!"
next
print nochmal
IF nochmal = 4 then Print "Zuviele fehlgeschlagende Versuche!":blocker:loginrtr=1:exit sub
sleep
end sub

' //EDIT:
' Ein kleines Beispiel:

dim as string Eingabe
'vonvorne:
Do
   
  cls
  Print "1 = Neuen Benutzer registieren"
  Print "2 = Login"
  Print "3 = Ausgang"

'backinp:
  Do
    if loginrtr = 0 then Eingabe = Input(1) else if loginrtr =1 then Eingabe="2":loginrtr=2:Exit Do
    select case val(Eingabe)
      case 1
        neuerbenutzer
      case 2
        login
      case 3
        ende
      case else
        Exit Do
    end select
  Loop
Loop

_________________
Bis irgendwann... grinsen


Zuletzt bearbeitet von AndT am 03.05.2008, 23:11, insgesamt 5-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 27.09.2007, 20:29    Titel: Antworten mit Zitat

ich seh da immernoch 'goto's grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 27.09.2007, 20:51    Titel: Antworten mit Zitat

Code:
'vonvorne:
Do
  cls
  Print "1 = Neuen Benutzer registieren"
  Print "2 = Login"
  Print "3 = Ausgang"

'backinp:
  Do
    if loginrtr = 0 then Eingabe = Input(1) else if loginrtr =1 then Eingabe="2":loginrtr=2:Exit Do
    select case val(Eingabe)
      case 1
        neuerbenutzer
      case 2
        login
      case 3
        ende
      case else
        Exit Do
    end select
  Loop
Loop
..ist aber ungetestet..
..und den Spaghetti-Wurm habe ich mal geflissentlich übersehen zwinkern
Nur um mal zu zeigen, wie es 'schön' aussehen könnte grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz