Opvragen Status Gebanned Account Tijdens $auth->login

Hulp nodig bij je installatie of kom je ergens niet uit?
Probeer phpBB3.2! Problemen lossen we samen met je op.
Gebruikersavatar
t h e b a t t e r y
Berichten: 2
Lid geworden op: 28 nov 2018, 15:47

Opvragen Status Gebanned Account Tijdens $auth->login

Bericht door t h e b a t t e r y » 28 nov 2018, 17:28

  • Wat is het probleem? Ik ben opzoek naar de status van de potentiele gebannede gebruiker na het inloggen.
    Wanneer ontstond het probleem? //
    Adres van je forum: Eigen testomgeving.
    Extensies op je forum: Geen, Vanilla
    Huidige stijl: ProSilver 3.2.2
    phpBB versie: 3.2.2
    Waar is je forum gehost: //
    Heb je onlangs iets veranderd aan je forum? Forum is compleet Vanilla, codering is niet aangetast.
Goedendag allemaal, ik ben TheBattery, en ik heb een vraag over de verschillende Status Codes, hierna te noemen SC, tijdens een external login buiten phpBB om. Ik ga ervan uit dat de meeste mensen hier wel thuis zijn in external login scripts en de daarbij behoorende SC. Ik hoop daarom wat dieper in de SC te duiken en wat meer informatie te geven zodat misschien andere gebruikers er ook wat aan hebben.

Wat is een Status Code (SC)?
In dit geval is SC een authentication status die je krijgt van phpBB3 als je bijvoorbeeld gebruik maakt van een external login, dus een login script buiten phpBB3. Je kunt hiermee inloggen op een pagina buiten je forum. Je doet een request dmv een login, en je krijgt een authentication status terug.

Enkele voorbeelden van SC zijn:

Code: Selecteer alles

LOGIN_ERROR_PASSWORD
LOGIN_ERROR_USERNAME
LOGIN_ERROR_ACTIVE
LOGIN_SUCCESS
In het kort hebben we hier ons loginscript:

Code: Selecteer alles

$auth->login($username, $password, $autologin, $viewonline, $admin);

if ($result['status'] == LOGIN_SUCCESS) //Login Success
{
}
else //Bad Login
{
}
Code-Info:
$username en $password lijkt mij duidelijk.
$autologin: Onthouden, ja of nee (true/false, 1/0)
$viewonline: Display in online gebruikers lijst (true/false, 1/0)
$admin: Is dit een Admin login? (true/false, 1/0)
Na het inloggen: $result = $auth->login();, de SC check: if ($result['status'] == LOGIN_SUCCESS)

Nu ben ik verschillende SC toe aan het voegen om verschillende gebruikers statussen te identificeren zoals bijvoorbeeld:
LOGIN_ERROR_ACTIVE --> Gebruiker is geregistreerd maar inactief.
Dit is voornamelijk handig als een gebruiker ingelogged is, al een account heeft !maar inactief is.
In dit geval werkt de $auth->login();, de gebruiker logged netjes in, maar krijgt een leuke inactief melding. Je zou in dit geval kunnen vermelden dat de gebruiker inactief is of bijvoorbeeld een heractivatie mail versturen.

Hier ons 2e loginscript met de LOGIN_ERROR_ACTIVE:

Code: Selecteer alles

$auth->login($username, $password, $autologin, $viewonline, $admin);

if ($result['status'] == LOGIN_SUCCESS) //Login Success
{
}
elseif ($result['status'] == LOGIN_ERROR_ACTIVE) //Logged in maar inactief
{
}
else //Bad Login
{
}
Goed, nu mijn onderzoek:
Ik heb een test account aangemaakt en deze gebruiker is actief. Dmv 1e script logged deze gebruiker in.
Volgende test stap, deactivatie login check (het 2e login script).
Ik deactiveer het account handmatig in het administratie paneel. Dmv 2e script logged deze gebruiker in, maar krijgt een melding dat het account niet actief is en de login is afgebroken door de SC LOGIN_ERROR_ACTIVE. Prima, werkt zoals het moet.

Nu ben ik opzoek naar een manier om een gebannend account te herkennen in de login. Deze ban kan elke vorm van ban zijn, (email, ip, user, username)
Als we een gebanned account laten inloggen op het external loginscript dan zal geen van de SC gezien worden, 'else' geeft ook geen resultaat.
Ben ik in dit geval niet op de hoogte van een beschikbare SC? Ik hoop het niet, want phpbb3 doet het iets anders. PhpBB3 checked of de gebruiker is ingelogged, maar dumped dan een banned melding en de login is afgebroken. Het script zou in dit geval dan toch de 'else' pakken?

Plaats reactie