Aktuelle Zeit: 03.06.2020 21:13

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 11:42 
Offline
Benutzeravatar

Registriert: 24.02.2006 16:09
Wohnort: DE
Hallo,

ich suche einen Lösungsansatz.

Was ich hier habe:
Einen kleinen Server 2019, den ich auch via DynDns erreichen kann.
Auf diesem läuft mein OVPN Server.
Mit diesem verbinden sich einige Geräte, die Statusmeldungen verschicken.
Zudem kann ich auf diese Geräte wiederum per HTTP zugreifen und diese Geräte per API fernsteuern und abfragen.

Ich würde mich gerne sicher (damit meine ich Kennwortgeschützt) über HTTP(S) von außen auf meinen Server 2019 einloggen, um dann auf weitere Inhalte zugreifen zu können.

Symphatisch wäre mir eine Prozedur in Spiderbasic.

Ist das der richtige Ansatz?
Gibt es vielleicht im PureBasic/Spiderbasic Fundus etwas, was in die Richtung geht und was ich evt. als Gerüst nehmen könnte?

Danke PB Freunde.

_________________
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."

Wer lügt hier wirklich und wer sagt die Wahrheit?

_________________________________________

286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 12:15 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Ich verstehe nicht ganz. Wenn das doch ein OVPN-Server ist, dann verbindest du dich von außen doch auch mit einem OpenVPN-Clienten und damit ist alles verschlüsselt.

Selbst wenn du dann Kennwörter über HTTP überträgst, könnte es niemand abhören. Und wenn du HTTPS nutzen willst, brauchst du einen Proxy, der das kann, also z.B. Apache oder Nginx. Du müsstest dir dann dein eigenes Zertifikat basteln und auf deinen Client-Geräten als vertrauenswürdig einstufen. Anders geht es in einem Intranet nicht.

Alles in allem aber ein komplexes Thema und sehr individuell. Was du da genau mit Spiderbasic machen willst, hab ich nicht verstanden. Vielleicht musst du mir dein Szenario noch etwas genauer erklären.

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 12:35 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Eigentlich hat doch heut zu tage jeder Router eine VPN-Server.

Hat sich doch somit alles erledigt.

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 13:11 
Offline
Benutzeravatar

Registriert: 24.02.2006 16:09
Wohnort: DE
Es ist vielleicht einfacher, als ich es geschildert habe.
Der OVPN Server war nur ein Hinweis, spielt auch keine Rolle.
Die Geräte können sich auch hier lokal im Netz befinden.

Also, im Moment sitze ich hier im Büro, gehe an meinen Server (Remote oder physkalisch) und kann alle Geräte per HTTP-Request steuern und alle möglichen Protokolle einssehen.

Vereinfacht z.B. eine Alarmanlage mit dem Befehl:

http://administrator:kennwort@10.0.0.10/action?set&scharf=disable

unscharf schalten.


Das Ganze geht natürlich auch aus Honolulu per RDP/Teamviewer/Anydesk etc..

Möchte ich die Aufgabe aber übergeben, hat der/die/divers durch den Link vollen Zugriff auf den Server und Einsicht in Benutzername und Kennwort.

Schöner wäre es, auch für mich, ich hätte ein Webinterface mit Benutzername und Kennwort, danach käme ich auf eine weitere Webseite mit diversen Links, Gadgets (Protokoll einsehen, Gerät 1 scharf schalten, Gerät 1 unscharf schalten) usw.
Das würde ich dann gerne mit Spiderbasic realisieren. Datenbankanbindungen etc.

Da will ich hinkommen ....

_________________
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."

Wer lügt hier wirklich und wer sagt die Wahrheit?

_________________________________________

286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 13:26 
Offline
Benutzeravatar

Registriert: 24.02.2006 16:09
Wohnort: DE
mal ganz einfach gefragt:

Kann ich mit Spiderbasic ein Login mit Benutzername und Kennwort realisieren?

https://www.vrbank-altenburgerland.de/banking-private/entry

_________________
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."

Wer lügt hier wirklich und wer sagt die Wahrheit?

_________________________________________

286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 14:34 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Jedenfalls nicht ohne eine serverseitige Implementierung. Bei Fragen zu Spiderbasic bin ich eigentlich raus, weil ich es weder besitze, noch nutze. Aber soweit ich weiß läuft es eben nur Clientseitig (Frontend), also im Browser. Und da kann man keine sichere Authentifizierung bewerkstelligen. Du brauchst ein Backend und eine Cookie-Verwaltung. Oder alternativ die gute alte HTTP Basic Authentification. Aber dann kannst du noch immer nicht ohne weiteres zwischen den verschiedenen eingeloggten Nutzern unterscheiden.

Die Befehle wie http://administrator:kennwort@10.0.0.10 ... rf=disable dürfen auch nicht Frontend existieren oder dargestellt werden, denn sonst würde man ja wieder Nutzername und Passwort sehen, wenn man nur mit der Maus über den Link fährt. Oder wenn man sich den Quelltext anschaut. Das heißt das Backend müsste dafür ebenfalls Proxy spielen.

Ein möglicher Use-Case wäre dann in etwa so:

  1. Nutzer besucht das Webinterface und es wird ihm eine Login-Maske präsentiert.
  2. Nutzer gibt Nutzername und Passwort ein und bestätigt, sodass die Daten zum Backend übertragen werden.
  3. Das Backend prüft, ob die Daten stimmen und liefert entweder eine Fehlerseite zurück oder erzeugt eine neue Session und teilt dem Browser das neue Cookie mit.
  4. Der Nutzer ist nun eingeloggt und sieht alle Möglichkeiten, die er durchführen darf. Natürlich hat das Backend je nach Nutzername entschieden, was der Nutzer sieht.
  5. Es gibt dort zum Beispiel den Link /alarm?scharf=disable, auf den der Nutzer klickt.
  6. Das Backend reagiert auf die Adresse /alarm, liest den Parameter 'scharf' aus dem GET-Request und ruft dann intern den echten Link http://administrator:kennwort@10.0.0.10 ... rf=disable auf

So ist gewährleistet, dass der Nutzer niemals die IP-Adresse, Login und Passwort zur Alarmanlage sehen kann.

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 14:35 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
stab hat geschrieben:
Kann ich mit Spiderbasic ein Login mit Benutzername und Kennwort realisieren?

Bild

auf die Schnelle:
Code:
EnableExplicit

#Dialog = 0
#Xml = 0

Runtime Enumeration
  #txtBenutzername
  #txtPasswort
EndEnumeration

Runtime Procedure LoginButtonEvent()
 
  Debug "#txtBenutzername: " + GetGadgetText(#txtBenutzername)
  Debug "#txtPasswort: " + GetGadgetText(#txtPasswort)
 
  ; HTTPRequest...
 
EndProcedure

Define XML$

XML$ = "<window id='#PB_Any' name='test' text='Login' minwidth='300' minheight='auto' flags='#PB_Window_ScreenCentered | #PB_Window_SystemMenu'>" +
       "  <vbox>" +
       "    <gridbox colexpand='item:2'>" +
       "      <text text='Benutzername:' flags='#PB_Text_VerticalCenter' />" +
       "      <string id='#txtBenutzername' />" +
       "      <text text='Passwort:' flags='#PB_Text_VerticalCenter' />" +
       "      <string id='#txtPasswort' flags='#PB_String_Password' />" +
       "    </gridbox>" +
       "    <empty />" +
       "    <hbox>" +
       "      <button text='Anmelden' height='30' onevent='LoginButtonEvent()' />" +
       "    </hbox>" +
       "  </vbox>" +
       "</window>"

If ParseXML(#Xml, XML$) And XMLStatus(#Xml) = #PB_XML_Success
  If CreateDialog(#Dialog) And OpenXMLDialog(#Dialog, #Xml, "test")
    SetActiveGadget(#txtBenutzername)
  Else 
    Debug "Dialog error: " + DialogError(#Dialog)
  EndIf
Else
  Debug "XML error: " + XMLError(#Xml) + " (Line: " + XMLErrorLine(#Xml) + ")"
EndIf


in der Prozedur LoginButtonEvent() machst Du dann einen HTTPRequest(), um serverseitig zu prüfen, ob Benutzername und Passwort korrekt sind.

Grüße ... Peter

_________________
Schrödingers Smiley :):


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 20.05.2020 18:56 
Offline
Benutzeravatar

Registriert: 24.02.2006 16:09
Wohnort: DE
Cooooool !!!
Vielen Dank an alle und besonders für den Code "auf die Schnelle ..."
Ich denke, dann bin ich auf dem richtigen Weg und kann darauf aufbauen.

Eine Verständnisfrage noch:
Habe mir Spiderbasic schon vor längerer Zeit gekauft, bisher jedoch noch nie eingesetzt.
Beim Durchsehen der Showcase-Beispiele letztens ist mir aufgefallen, das Dialoge einerseits in XML sowie mit den üblichen Gadgets erstellt werden können.
Das Login-Beispiel von Kiffi basiert ja auch auf XML.
Ist das eine Trendgeschichte, Programiergeschmacksache oder was hat das für eine besondere Bewandtnis?

PS: Nochmal Danke für das super Forum hier an alle Mitglieder. Macht wirklich Spaß.
Wer z.B. das Netzwerkforum administrator.de kennt und dort auch mal eine nicht ganz so professionelle Frage gestellt hat, weil der Hauptberuf halt nicht Netzwerkadministrator ist, weiß vielleicht was ich meine. -> Klugscheisser-Antworten, Vorwurfsantworten, Besserwisser-Antworten oder Antworten wie, "Ja, geht. Sage aber nicht wie."


Bin zwar kein Freund von Emojis, aber dieser muss sein: :praise:

Schönen Feiertag ... Gruß Stephan

_________________
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."

Wer lügt hier wirklich und wer sagt die Wahrheit?

_________________________________________

286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 21.05.2020 00:09 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
stab hat geschrieben:
[XML] Ist das eine Trendgeschichte, Programiergeschmacksache oder was hat das für eine besondere Bewandtnis?

ich verwende die Dialog-Library aus drei Gründen gerne:

Erstens muss ich die Gadgets nicht pixelgenau platzieren. Das erledigt das Layout für mich.

Zweitens muss ich mir keine Gedanken um die Anpassung von Gadgets in größenveränderbaren Fenstern machen, weil das automatisch geschieht.

Und drittens kann ich die Event-Verarbeitung direkt im XML angeben und muss die Gadgets nicht explizit mit BindGadgetEvent() binden.

Erwähnenswert ist vielleicht noch, dass man XML-Dialoge auch nachträglich bearbeiten kann (sofern sie mit LoadXml() vom Kompilat zur Laufzeit geladen werden). Wäre unter Umständen interessant für Übersetzungen in andere Sprachen, oder ähnliches.

In diesem Zusammenhang empfehle ich den hervorragenden DialogDesign0R von HeX0R

Grüße ... Peter

_________________
Schrödingers Smiley :):


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: kennwortgeschützter Login - wie?
BeitragVerfasst: 24.05.2020 10:19 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:53
@stab: du solltest dir für die Client (SpiderBasic) - Server (PureBasic) Kommunikation unbedingt SpideBite anschauen: https://github.com/spiderbytes/SpiderBite

_________________
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye