Externes Login in phpBB / C++

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
laberschwall
Mitglied
Beiträge: 50
Registriert: 25.08.2011 11:34

Externes Login in phpBB / C++

Beitrag von laberschwall »

Servus,

ich hab da eine Frage die ich hier noch nicht finden konnte.
Ich möchte ein Online Forum in eine (Freeware) Software einbinden (eingebetteter IE Browser in C++) . PHPBB würde sich hier anbieten.
Nun hat die Software und phpbb ein Login und ich möchte beide zusammenführen zu einem Login.
Hierzu fallen mir folgende Möglichkeiten ein.

a.) man loggt sich in der Software ein und diese öffnet den Browser mit http://www.meinforum.de/index.php?login=meinname, pasword=klartextpasswort (hier wäre die Frage of es verschlüsselt geht? Wie?)
b.) man loggt sich in phpbb Forum ein und bekommt irgendwoher ein Cookie oder Session ID die es bestätigt
c.) man schreibt phphBB irgendwie um das ein Login von extern unterstützt wird (gibt es hierzu schon Projekte?)

In allen Fällen sollte das Passwort eigentlich best möglichst geschützt werden.

Könnt ihr hier einen Hinweis geben?
Wenn es hierzu Möglichkeiten gäbe ware das Projekt phpBB eine wunderbare Lösung, da wie bei den meisten freien Programmen kein Geld zur Verfügung steht.

Grüße aus dem Norden ...
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Externes Login in phpBB / C++

Beitrag von Pyramide »

laberschwall hat geschrieben:a.) man loggt sich in der Software ein und diese öffnet den Browser mit http://www.meinforum.de/index.php?login=meinname, pasword=klartextpasswort (hier wäre die Frage of es verschlüsselt geht? Wie?)
Eine Verschlüsselte Übertragung wäre mit SSL (https) möglich. Eine Verschlüsselung des Passwortes im Query-String selbst ist von phpBB nicht vorgesehen, da es ja der Benutzer im Klartext ins Formular eingeben muss. Bei reiner Maschine-zu-Maschine Kommunikation (C++-Client zu PHP-Server) könnte man da natürlich eine asymetrische Verschlüsselung einbauen (private key auf dem Server, public key im Client).
laberschwall hat geschrieben:b.) man loggt sich in phpbb Forum ein und bekommt irgendwoher ein Cookie oder Session ID die es bestätigt
Ist damit innerhalb des Browsers in der Client-Applikation gemeint? Wenn ja, kannst du ja die von phpBB gesetzten Cookies auslesen. Im ..._u Cookie steht z.B. die User-ID drin. Wie "sicher" das ist, kann ich nicht beurteilen, da ich nicht weiß, inwiefern eine Manipulation des IE durch den Benutzer möglich ist. Für eine reine Bestätigung à la "Login erfolgreich" oder "Bitte versuchen Sie es erneut" sollte es aber ausreichend sein.
laberschwall hat geschrieben:c.) man schreibt phphBB irgendwie um das ein Login von extern unterstützt wird (gibt es hierzu schon Projekte?)
Hier kann ich mir gerade nicht vorstellen, was du damit meinst. Variante a wäre doch ein Login von extern...oder was soll an Variante c noch anders sein?
KB:knigge
laberschwall
Mitglied
Beiträge: 50
Registriert: 25.08.2011 11:34

Re: Externes Login in phpBB / C++

Beitrag von laberschwall »

Hi,

danke für deine Antwort.
Bei c.) meinte ich eine Erweiterung der aktuellen Login Funktion von phpBB, das ist aber nach genauerer Betrachtung dasselbe wie a.)

Mir würde natürlich a.) am besten gefallen. Leider bin ich mir nicht im Klaren wie man dem Browser Inlay (Standard ActiveX DLL vom IE) eine HTTPS Übertragung mit SSL beibringen kann :(
Zudem hat nach meinem ersten Durchlesen von phpBB dieses gar kein HTTPS bzw. hat das auch unser Server (Billig-Hosting) nicht :(
Das fällt wohl aus.
Nun muss ich mal ganz naiv fragen: Der Benutzer gibt das Passwort in den Browser ein. Ich müsste dem Browser Fenster eigentlich nur das Passwort eingeben und den Knopf drücken.
Ich nehme ein 1x1pixel großes ActiveX Element, öffne den Login von phpBB und übergebe den Text in das Login und Passwort Fenster und drücke den Knopf.
Dadurch sollte das Passwort gesichert Übertragen werden. Kann man den Paswort send nicht aus einem Programm heraus simulieren, dort ist das Passwort ja noch sicher.
Den Zustand lese ich dann über ein Cookie oder den Antwort-HTML-Text aus und schon habe ich eine Authentifizierung.

Was hält man von diesem Workaround?
Gibt es hier konkrete Projekte?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Externes Login in phpBB / C++

Beitrag von Pyramide »

laberschwall hat geschrieben:Zudem hat nach meinem ersten Durchlesen von phpBB dieses gar kein HTTPS
phpBB ist ja nur die Software. Für HTTPS ist der Webserver zuständig.
laberschwall hat geschrieben:Dadurch sollte das Passwort gesichert Übertragen werden.
Damit hast du dann aus Netzwerksicht die gleiche Sicherheit wie wenn du dich ganz normal in einem Forum anmeldest.
laberschwall hat geschrieben:Kann man den Paswort send nicht aus einem Programm heraus simulieren, dort ist das Passwort ja noch sicher.
Den Zustand lese ich dann über ein Cookie oder den Antwort-HTML-Text aus und schon habe ich eine Authentifizierung.
Du meinst, dass du nicht den IE einbettest, sondern direkt eine Socket-Verbindung herstellst? Das wäre ohne weitere Modifikationen dann - wieder aus Netzwerksicht - das selbe.

Vielleicht solltest du mal genauer beschreiben, was das für eine Applikation ist, wie genau die Verbindung insbesondere der Accounts und Sessions mit phpBB funktionieren soll und welche Daten du vor wem schützen willst.
KB:knigge
laberschwall
Mitglied
Beiträge: 50
Registriert: 25.08.2011 11:34

Re: Externes Login in phpBB / C++

Beitrag von laberschwall »

"Ist" stimmt so nicht, ich erkundige mich hier nur über Möglichkeiten bevor ich diese App schreibe und ob phpBB hier geeignet wäre.
Im Endeffekt kannst du dir ein Fenster vorstellen indem ein phpBB Forum laufen soll. Das kann man ganz einfach mit einem ActiveX Browser Plugin in jeder Sprache reinziehen.
Der Knackpunkt ist nun der, das man automatisch angemeldet werden soll. Dies entweder mit phpBB Datenbanken oder mit zusätzlichen Datenbanken (mySQL, verschlüsselt).
Quasi bevor das Browser Fenster präsentiert wird, kommt ein C++ Fenster mit Passwortabfrage, Benutzer wird gemerkt.
Über dem Browser Fenster sind dann Knöpfe mit denen die Software in einer eigenen Datenbank sinnvolle Funktionen ausführt die Programmeigen sind.

Gesichert werden muss vom Prinzip her keine relevanten personenbezogenen Daten sondern nur Passwort und evtl. das Login.
HTTPS habe ich wie gesagt nicht, aber phpBB versendet doch das Passwort von sich aus verschlüsselt? oder nicht?
Ich/Wir würden dann hier gerne wissen wie man es mit posts oder gets simulieren könnte, aber ich denke nicht das dies gehen würde.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Externes Login in phpBB / C++

Beitrag von Pyramide »

laberschwall hat geschrieben:Gesichert werden muss vom Prinzip her keine relevanten personenbezogenen Daten sondern nur Passwort und evtl. das Login.
Wie gesagt: was genau verstehst du unter gesichert bzw. gegenüber welchem Szenario willst du dich absichern?
laberschwall hat geschrieben:HTTPS habe ich wie gesagt nicht, aber phpBB versendet doch das Passwort von sich aus verschlüsselt? oder nicht?
Pyramide hat geschrieben:Eine Verschlüsselung des Passwortes im Query-String selbst ist von phpBB nicht vorgesehen, da es ja der Benutzer im Klartext ins Formular eingeben muss
laberschwall hat geschrieben:Ich/Wir würden dann hier gerne wissen wie man es mit posts oder gets simulieren könnte, aber ich denke nicht das dies gehen würde.
Meinst du, dass du das Ausfüllen des Formulares simulierst, ohne einen Browser zu nutzen? Dazu kannst du ja wie gesagt eine Socket-Verbindung aufbauen (oder eine HTTP-Bibliothek nutzen - ich nehme mal an, dass es sowas auch für C++ gibt). Einen POST-Request (GET sollte man unter allen Umständen vermeiden, damit das Passwort nicht in irgendwelchen Log-Dateien landet) musst du in jedem Fall ausführen, außer du programmierst deine eigene nicht auf HTTP basierende Schnittstelle.
KB:knigge
laberschwall
Mitglied
Beiträge: 50
Registriert: 25.08.2011 11:34

Re: Externes Login in phpBB / C++

Beitrag von laberschwall »

Wie gesagt: was genau verstehst du unter gesichert bzw. gegenüber welchem Szenario willst du dich absichern?
Ich glaube wir reden hier aneinander vorbei.
Ich will verhindern das jemand das Passwort in Textform mitschneiden kann, mehr nicht.
So wie es sich hier anhört hat phpBB keine Verschlüsselung und überträgt die Daten aus der (gut mit Sternchen versehenen) Eingabebox? (ohne HTTPS Server)
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Externes Login in phpBB / C++

Beitrag von Pyramide »

laberschwall hat geschrieben:Ich will verhindern das jemand das Passwort in Textform mitschneiden kann, mehr nicht.
Also geht es rein um die Frage der Netzwerkübertragung und nicht um Authentifikation innerhalb der Applikation. In dem Fall sind meine Aussagen aus den vorigen Beiträgen gültig.

laberschwall hat geschrieben:So wie es sich hier anhört hat phpBB keine Verschlüsselung und überträgt die Daten aus der (gut mit Sternchen versehenen) Eingabebox? (ohne HTTPS Server)
Die Frage hast du bisher in jedem Beitrag gestellt und ich habe sie dir dann jedes mal wieder beantwortet. Damit wir so nicht in zwei Wochen noch weitermachen, unterbreche ich die Endlosschleife hier dann mal :roll: .
KB:knigge
laberschwall
Mitglied
Beiträge: 50
Registriert: 25.08.2011 11:34

Re: Externes Login in phpBB / C++

Beitrag von laberschwall »

Ja, es geht um die Übertragung.
Das es tatsächlich Klartext ist konnte ich ganz am Anfang nicht glauben.
Da es sich um Klartext handelt, müsste man auch mit einem URL Pfad ala "www.meinforum.com/forum/ucp.php?login=m ... d=meinpass" zurechtkommen.
Wenn dieser vom Programm aufgerufen wird ist er ja gut versteckt.
Ist dies möglich?
laberschwall
Mitglied
Beiträge: 50
Registriert: 25.08.2011 11:34

Re: Externes Login in phpBB / C++

Beitrag von laberschwall »

So, funktioniert nun tadellos.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“