WebsiteBaker Community Forum

WebsiteBaker Support (2.12.x) => General Help & Support => Hilfe & Support (deutsch) => Topic started by: markherrmann on September 25, 2022, 10:52:43 AM

Title: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: markherrmann on September 25, 2022, 10:52:43 AM
Hi Leute, ich würde gern die Standart login.php deaktivieren.
Weiß jemand von Euch, was für einen Login so notwendig ist... (also von einer eigenen Seite im laufenden CMS aus)

Also Username und MD5 Passwort auslesen, klar...
aber werden SESSIONS angelegt? Variablen definiert? So etwas in der Richtung?

Die Standartvariablen, mit Link auf Preferences, Login und Register würde ich auch ganz gern umbelegen.

Warum das ganze, ich möchte anstatt Username / Passwort lieber Username und OTP benutzen.
Registrationsprozes s umbauen war eigentlich leicht, aber Login ist noch mal was anderes.

Eigene Registration läuft als Demo unter: https://argeforum.de/pages/registration.php (https://argeforum.de/pages/registration.php) sobald ich auch Login geändert habe, übermittle ich kein Passwort, sondern nur noch Benutzername und QR-Code, und Setup-Key für OTP
Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: markherrmann on September 29, 2022, 04:14:40 PM
Hab zwischenzeitlich probiert einfach die SESSION Variablen, zu schreiben die auf der WB Seite stehen, das war aber leider kein wirklicher Login.

Dann folgende Überlegung, in meinem Template steht ja ein Formular für einen POST-Request an "/account/login.php", was wenn ich den mittels CURL anstoße? Daten eines Testusers (ohne groß Rechte) hab ich einfach mal festgespeichert (zu testzwecken).

Code: [Select]
function httpPost($url, $data) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
return $response;
} // end function

$url_request = LOGIN_URL;
$url_this = WB_URL.$_SERVER['PHP_SELF'];
$array_request = array(
"redirect" => $url_this,
"username" => "abc***",
"password" => "12345***",
"submit" => "submit"
);
$myresult = httpPost($url_request, $array_request);
echo $myresult;

if (!$wb->is_authenticated()) {
echo 'NO';
} else {
echo 'YES';
} // end if

War leider auch nicht von Erfolg gekrönt, hat keiner eine Idee?

Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: crnogorac081 on September 29, 2022, 05:02:49 PM
You have frontend login with login and signup php page. Delete complete folder.
Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: markherrmann on September 29, 2022, 05:40:20 PM
Hi crnogorac081,
what? "delete the original login.php?" but why?

At the moment im using this original file with post-request from frontend (template)... that works fine.
Later i want to login with username and with one-time-passwort, based on individual given keys during registration....

My idea to test was to submit username and password from variables (only now for testing), but this method dont run... and sorry i dont know why.
If you can help  8-) please inspire  :-o me.
Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: crnogorac081 on September 29, 2022, 07:03:40 PM
I thought you want to prevent users from login.

Im not near computer at the moment, but login like that want work because there is probably ftan (advanced spam protection). You should check login class in framework folder ( also the login droplet for source code)
Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: DarkViper on September 30, 2022, 09:59:47 AM
ein Umbau auf OTP ist derzeit nur mit immens hohem Aufwand möglich.
Das würde Änderungen an Dateien in
und einige mehr, sowie auch Anpassungen der Sessionverwaltung und auch der Datenbank erfordern.
Prinzipiell ist es natürlich möglich, sofern man die ganzen Zusammenhänge und Abhängigkeiten im System gut genug kennt.
(derzeit ist ein Irrgarten dagegen eine vorbildlich ausgeschilderte Hauptverkehrsstrass e)

Auf meiner ToDo-Liste steht ein komplett neues, modulares Authentifizierungs-Modul ganz oben.
Damit wäre eine OTP Einbindung eine Kleinigkeit, ebenso wie Google- oder FB-Auth und ähnliches.
Zuallererst kommt jedoch die Umstellung weg von MD5 auf komplexe Hashes und die Abtrennung der Passwortverwaltung von der Benutzerverwaltung.

Meine Empfehlung: Selber basteln -> nein, bzw. nur wenn man denkt, auf zukünftige Updates verzichten zu können, denn die würden dann nicht mehr funktionieren.
LG. Manuela



Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: markherrmann on October 03, 2022, 11:33:19 AM
Hey Danke für die Rückinfo,
ich persönlich bin auch gegen das verändern von Originaldateien (schon wegen kommender Updates).

Im Moment setze ich auf Erweiterungen an DB (eigene SQL_Tabellen waren immer unkritisch), aber eine Frage zum Loginvorgang:
Kann ich diesen nicht mittel POST Request vorgauckeln? Oder liege ich da falsch...

Der Kollege vom Post davor shriebwas von FTAN, aber  ich glaube das wird gar nicht benutzt.
Ich selbst nutze auch FTAN in anderen Formularen, und ich liebe diese Methode weil wirklich einfach zu benutzen.

Hier aber sende ich doch nur einen POST an login.php mit den Variablen username, password und redirect...
Kannst Du mir einen Tip geben?!

Liegt es daran, dass ich das nicht von einer CMS Seite tun kann, sondern von echter .php Datei abgelegt im Templateordner?
Wenn ja, wie stoße ich nach Validierung die Anmeldung an?

Ich hab schon mal geschaut, aber in den FAQ sind diese Module nicht erkärt...
Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: crnogorac081 on October 04, 2022, 03:49:26 PM
Hello, I tested this curl code and also some others from internet, and none is working.

The droplet indeed generates minimal code, but the www.site/account/login.php generates more code ( use inspect in browser and you will see username_fieldname etc...). I also enabled frontend login but it didn't work.

Title: Re: Eigene LOGIN-Seite, wer hat da mal Hand angelegt
Post by: markherrmann on October 05, 2022, 08:27:17 AM
hi,
my frontend login works well and there is minimal code in form...
Code: [Select]
<form method="post" action="https://xxxxxxxxxxxxxxx/account/login.php">
<input type="hidden" name="redirect" value="https://xxxxxxxxxxxxx/index.php">
<p>Login Name<br /><input placeholder="" required style="width:100%" type="text" name="username" id="username_1" tabindex="1" class="field" onkeypress="return webLoginEnter(document.loginfrm.password);" value="" /></p>
<p>Passwort<br /><input placeholder="" required style="width:100%" type="password" name="password" id="password_1" tabindex="2" class="field" onkeypress="return webLoginEnter(document.loginfrm.cmdweblogin);" value="" /></p>
<input type="submit" name="submit" class="ctrl_btn_flex" id="unlock" value="Anmelden" />
<input class="ctrl_btn_flex" id="mail" type="button" value="Zugang vergessen" onClick="window.open('https://xxxxxxxxxxxxxxxxx/account/forgot.php', '_self')" />
</form>

that cant be it. next time i will try to write another real .php page, put that in my template and use this page to validate user and otp
maybe the unsalted md5 password (so is written from wb 2 sql) could be a problem

for this problem, i can save the own crypted password (so generated on my own registration) to second sql table...
this i dont save md5 (and not cleartext as well)