Eigene LOGIN-Seite, wer hat da mal Hand angelegt

markherrmann

#9
hi,
my frontend login works well and there is minimal code in form...

<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)

crnogorac081

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.

Web developer

markherrmann

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...

DarkViper

ein Umbau auf OTP ist derzeit nur mit immens hohem Aufwand möglich.
Das würde Änderungen an Dateien in

  • /account/
  • /admin/login/
  • /admin/logout/
  • /admin/users/
  • /framework/Login*
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 Hauptverkehrsstrasse)

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



[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

crnogorac081

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)
Web developer

markherrmann

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.

crnogorac081

You have frontend login with login and signup php page. Delete complete folder.
Web developer

markherrmann

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).


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?


markherrmann

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.
Registrationsprozess umbauen war eigentlich leicht, aber Login ist noch mal was anderes.

Eigene Registration läuft als Demo unter: 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