Loginsystem

08/21/2012 11:58 isaias#1
also. ich habe ein loginsystem gemacht mit autoit3 welcher eine verschlüsselte datei ausliest. ich will aber ,dass der bot auf eine datenbank zugreift. also von einer website,mysql datenbank e.t.c!
erstmal die source:
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:         die0unddie1

 Script Function:
	Registriervorlage

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here
#include <String.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Login", 210, 131, 192, 124)
$Input1 = GUICtrlCreateInput("", 72, 16, 121, 21)
$Input2 = GUICtrlCreateInput("", 72, 48, 121, 21,$ES_PASSWORD)
$Label1 = GUICtrlCreateLabel("Loginname", 16, 16, 56, 17)
$Label2 = GUICtrlCreateLabel("Passwort", 16, 48, 47, 17)
$Button1 = GUICtrlCreateButton("Login", 16, 88, 73, 25)
$Button2 = GUICtrlCreateButton("Registrieren", 112, 88, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			FileOpen("Accounts",0)
			$Fileread = FileRead("Accounts")
			$Filewroten = _StringEncrypt(0,$Fileread,123,3)
			FileWrite("Accounts2",$Filewroten)
			$Iniread = IniRead("Accounts2",GuiCtrlread($input1),GuiCtrlread($Input2),1)
			FileDelete("Accounts2")
			If $Iniread = 1 Then
				MsgBox(0,"Fehler","Login/password not found")
			Else
				MsgBox(0,"Win","Login&password are right. Welcome " & GUIctrlread($Input1))
			EndIf

		Case $Button2
			FileOpen("Accounts",0)
			$Vorhanden = IniRead("Accounts",GUICtrlRead($Input1),GUICtrlRead($Input2),1)
			If $Vorhanden = 1 Then
				$Fileread = FileRead("Accounts")
				$Filewroten = _StringEncrypt(0,$Fileread,123,3)
				FileWrite("Accounts2",$Filewroten)
				Iniwrite("Accounts2",GUIctrlread($Input1),GUIctrlread($Input1),"")
				Iniwrite("Accounts2",GUIctrlread($Input1),GUIctrlread($Input2),"")
				$Fileread2 = FileRead("Accounts2")
				$Filewroten2 = _StringEncrypt(1,$Fileread2,123,3)
				FileOpen("Accounts",2)
				FileWrite("Accounts",$Filewroten2)
				FileDelete("Accounts2")
			Else
				MsgBox(0,"error","Accountname Schon Vorhanden.")
			EndIf
	EndSwitch
WEnd
ich will ,dass er auf die datenbank einer website zugreift und die daten holt zum vergleichen (natürlich soll das script ein langes ZEITBEDINGTES encryptetes bestätigungspasswort hergeben damit der server weiss ,dass es das programm ist programm ist)
08/21/2012 17:53 KDeluxe#2
Programmiere dir für die Datenbankzugriffe eine .php. Mit InetRead() kommst du an deine Daten.
08/21/2012 18:47 ÐΣαtђ#3
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <INet.au3>
#include <FTP.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Login", 209, 109, 360, 167)
GUISetBkColor(0x000000)
$Button1 = GUICtrlCreateButton("Login", 16, 72, 81, 33)
$Label1 = GUICtrlCreateLabel("Username: ", 8, 8, 50, 17)
GUICtrlSetColor(-1, 0x008000)
$Label2 = GUICtrlCreateLabel("Passwort: ", 8, 36, 53, 17)
GUICtrlSetColor(-1, 0x008000)
$Input1 = GUICtrlCreateInput("", 64, 8, 137, 21)
$Input2 = GUICtrlCreateInput("", 64, 32, 137, 21)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
	$nMsge = GUIGetMsg()
	Switch $nMsge
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$Username = GUICtrlRead($Input1)
			$Passwort = GUICtrlRead($Input2)
			$Logindata = InetRead("[COLOR="Lime"]ftp://[COLOR="Red"]MEINUSERNAME:MEINPASSWORT[/COLOR]@mein.ftp-server.de/" & $Username & ".txt[/COLOR]"); Der Absolute Pfad auf dem FTP Server, Ich hab das so geregelt
																											; Das Jeder User seine eigene Textdatei Mit seinen Accountdaten
																											; Hat nach diesem Prinzip:
																											;---------
																											; Username
																											; Passwort
																											;---------
																											; Das Programm macht einen Stringsplit mit @CRLF sowerden die
																											; Beiden Logindaten in $SplitLogindata[1] und $SplitLogindata[2]
																											; Umgewandelt!

			$BinaryLogindata = BinaryToString($Logindata)
			$SplitLogindata = StringSplit($BinaryLogindata, @CRLF)
			If $Username = $SplitLogindata[1] Then
				If $Passwort = $SplitLogindata[2] Then
					MsgBox(0,"Logged In!","Erfolgreich eingeloggt!" & @CRLF & "Viel Spaß!")
					GUIDelete($Form1)
					_Main()
					ExitLoop
					GUISetState(@SW_HIDE)
				EndIf
			EndIf
				$Label3 = GUICtrlCreateLabel("Accountdaten sind falsch!", 80, 56, 127, 17)
				GUICtrlSetColor(-1, 0x800000)
				Sleep(5000)

		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

Func _Main()
	;Dein Programmcode
	MsgBox(0,"","")
EndFunc
Hier ist der Code.
Das Grüne Musst du ersetzten und das Rote auch, Ich habs nur zur besseren Erkennung gefärbt^^
Musst Halt Jedem User eine eigene Textdatei schreiben(nicht empfohlen) oder es durch ein Programm automatisieren lassen(emfohlen)

Achja btw. Du musst einen FTP-Server haben :awesome:
Du kannst dir [Only registered and activated users can see links. Click Here To Register...] Kostenlos einen mit 2GB bestellen

Mfg Death :rolleyes:
08/21/2012 19:50 butter123#4
es gibt auch eine sqlite.au3
guck einfach mal bei den includes
08/22/2012 21:21 v1Dr333s#5
die sqlite empfehle ich dir nicht, da du damit deine sql daten ins script schreiben musst(host, benutzername, passwort).

mit php klappt das bei mir supper :)
08/29/2012 18:19 isaias#6
danke leute ,aber wie mache ich das mit der website.....also mit den daten speichern.....
08/29/2012 18:53 Logtetsch#7
Du kannst nicht einfach irgendwelche Sachen auf deine Internetseite speichern. Ein FTP Server dagegen bietet dir wieder komplett neue Dimensionen an. Es sei denn, deine Internetseite läuft über einen FTP Server und ist als ein .html Dokument abgespeichert.
Jedoch ist es umständlich immer das Dokument zu speichern und wieder geändert hochzulanden.