Anmeldung via Datenbank

  • Hallo,

    Ich würde gerne für mein Script Accounts hinzufügen.
    Also Login via Benutzername und Passwort Abfrage und dann wird auf meinem 000webhost.com eine Datei abgerufen und geguckt, ob Benutzername und Passwort übereinstimmen.
    Das Problem ist, ich kenne mich fast gar nicht mit diesem Thema aus, kennt wer ein OpenSource Projekt mit einem ähnlichen LogIn Verfahren, an dem ich mich orientieren kann?

  • Hallo SolemnStrike,

    generell hast Du zum Downloaden von Dateien auf einem Webserver die AutoIt-Funktion

    Code
    InetGet ( "URL", "filename" [, options = 0 [, background = 0]] )

    Die Dokumentation dazu findest Du auf https://www.autoitscript.com/autoit3/docs/functions/InetGet.htm bzw. in der AutoIt-Hilfedatei. Das funktioniert allerdings nur, wenn irgendwo auf Deinem Webserver diese Datei liegt. Verwendest Du z.B. FTP, bräuchtest Du die FTP-Funktionen (siehe https://www.autoitscript.com/autoit3/docs/l…0Management.htm).

    Generell ist es m.E. (natürlich auch mit abhängig vom verwendeten Dateiformat) keine besonders sichere Option, direkt auf einem Webserver die Zugangsdaten zu speichern. (Du kannst Dir das vorstellen, wie wenn auf dem Webserver eine Datei liegt, die sich jeder über einen Download-Link herunterladen könnte. Es ist zwar von außen betrachtet nicht wirklich wahrscheinlich, dass jemand an die Zugangsdaten kommt, aber theoretisch auf jeden Fall denkbar, daher auch nicht sicher.

    Es gäbe durchaus bessere Möglichkeiten. Wenn Du sicher bei einer Datei bleiben willst, ist ein FTP-Server mit Verschlüsselung sicherer. Ungeschlagen in Sicherheit und Effizienz wären natürlich Datenbankserver (MySQL, MariaDB etc.), welche aber deutlich mehr Voraussetzungen haben. Dazu wäre es gut zu wissen, welches Format (INI, XML, SQLite3-Datenbank etc.) deine Zugangsdaten haben und vor allem, was ihr Verwendungszweck ist in Bezug auf deine AutoIt-Applikation ist.

    Grüße

    Florian

    neben AutoIt jetzt auch noch in C/C++, Java und Python aktiv :)
    Stand 04.04.2018, 13:34

  • Hmm olfibits

    deine Antwort enthält leider vieles, was man sofort verwerfen sollte.

    SolemnStrike

    Wie hoch ist denn dein Sicherheitsbedürfnis? Wenn du es mit motivierten und oder kenntnisreichen Usern zu tun hast, die dein Anmeldesystem umgehen wollen, hast du große Probleme.


    Ein PHP-Skript das deine Anfragen bearbeitet und die Benutzerdaten aus einer Datei oder Datenbank abruft ist enorm vorteilhafter als eine Datei, die heruntergeladen wird. Da sind ja dann alle Benutzernamen und Passworte enthalten....

    Ich habe keine Antwort für deine ursprüngliche Anfrage. Ich denke jedoch, dass du dein Problem mir einem kleinen PHP Skript und einer DB auf deinem Webserver lösen könntest (Wenn du nicht von hoher Sicherheit ausgehst).

    Grüße autoiter

  • Vielen Dank für eure Antworten.

    Mir wurde bereits gesagt, dass autoIT von vorne rein nicht sicher ist, also dass ein advanced Hacker den ganzen Code sowieso mit debuggern wie dnSpy bekommen kann.

    Da das anscheinend möglich ist, sollte das knacken von den Anmelde Daten mindestens genauso sicher sein, wie das knacken des gesamten Codes. ^^

    Ich habe natürlich selbst mal recherchiert und ein Video gefunden, wo der User Lizenzen auf seiner DropBox gespeichert hat und um sie zu sichern hat er Verschlüsselungsalgorithmen verwendet (ich denke md5).

    Der Vorteil von Dropbox oder anderen Clouds wäre, dass ich nichts mieten müsste... Zwar gibts ein paar test php und SQL Datenbanken, diese haben aber meistens nur 5-10mb Speicherplatz, keine Ahnung für wie viele Nutzer das reicht. 000webhoster.com hat aber wiederum eine recht große kostenlose php Datenbank, wenn ich das richtig sehe.

    Auch haben mir andere Programmierer irgendeine Methode namens "hash" empfohlen, jene kennen autoIT aber nicht, daher keine Ahnung, ob das in autoIT überhaupt umsetzbar ist. autoiter  olfibits

  • Hallo SolemnStrike

    Genau. Da weder die Abfrage sicher ist, noch gesichert ist, dass nicht jemand einfach die Passwortabfrage komplett aus dem Code entfernt, brauchst du dir auch keine Gedanken über eine verschlüsselte Datenbank zu machen. Schreib deine Daten in eine Textdatei, die du ausliest und fertig.

    Oder verzichte auf eine Benutzerverwaltung ;)

    Grüße autoiter

  • autoiter gibt es keinen Weg den Code zu schützen?

    Das ist schon eine Kunst für sich.

    Du solltest dich eher fragen: Ist das was ich schützen möchte wirklich so schützenswert, dass ich hier alle Register ziehen muss damit keiner drankommt?

    Oder kann ich einfach an einen Webserver eine Anfrage schicken und erhalte eine 1 / 0 zurück.

  • SolemnStrike

    autoiter gibt es keinen Weg den Code zu schützen?

    Nein. Alleine mit AutoIt und deinen Kenntnissen wird das nicht gehen. Du musst einfach davon ausgehen, dass dein Programmcode offen da liegt und der interessierte Nutzer ihn liest. Mit Aufwand und Nutzung anderer Programmiersprachen/externer Verarbeitung könnte man dein Programm etwas schützen.

    Aber ein Lizenzsystem ist mit AutoIt nicht zu machen. Wie geschrieben. Man kann deine ganze Abfrage aus dem Code entfernen.. Da sind dann alle weiteren Überlegungen zu verschlüsselter Übertragung/Speicherung obsolet.

    Wenn du mit deinem Programm wirklich Geld verdienen möchtest, probiere es einfach mit den einfachen Mitteln. Das klappt ja immerhin so lange, wie du mal mit etwas beschlageneneren Nutzern zu tun hast - und die müssen erst einmal kommen....

    Grüße autoiter