PHP 2-Factor Autorisatie (2FA)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5 6 volgende »

Jin vanTongeren

Jin vanTongeren

09/03/2019 21:55:02
Quote Anchor link
Ik heb het eindelijk gevonden waar het aan lag.
Het lag aan de variabelen binnen de action van de form, want die waren niet gedefinieerd etc.
Maar nu kom ik bij het volgende onderdeel:
De "onthoud mij" knop.
Hoe kan ik dit het beste regelen?
 
PHP hulp

PHP hulp

16/04/2024 16:26:35
 
- Ariën  -
Beheerder

- Ariën -

09/03/2019 22:17:49
Quote Anchor link
Bedoel je iets om een username/wachtwoord bij de bezoeker te bewaren zodat die het niet opnieuw hoeft in te vullen?
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 08:05:46
Quote Anchor link
Ja evt. ook.
Maar dat de gebruiker dan maar 1x op zijn / haar apparaat de 2FA hoeft te doen en daarna wordt dat apparaat onthouden voor 3 maanden.
 
- Ariën  -
Beheerder

- Ariën -

10/03/2019 09:56:42
Quote Anchor link
Waarom het wiel opnieuw uitvinden voor iets wat browsers zelf kunnen? Die kunnen ook prima inloggegevens opslaan.
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 09:59:23
Quote Anchor link
Ja oké, ik weet dat Google Chrome bijvoorbeeld dat kan.
Maar ik wil dat als de bezoeker "onthoud mij" aanvinkt, binnen 3 maanden geen 2FA meer hoeft te doen op dat apparaat.
En geloof niet dat Google Chrome dat ook kan.
 
- Ariën  -
Beheerder

- Ariën -

10/03/2019 10:02:45
Quote Anchor link
Maar heb je al gekeken naar browser-fingerprinting i.c.m. een IP-adres?
Gewijzigd op 10/03/2019 10:03:39 door - Ariën -
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 10:03:50
Quote Anchor link
Nee.
Ik weet eigenlijk ook niet wat browser fingerprinting is...
(Ik heb er nog nooit van gehoord)
Maar denkt u dat browser-fingerprinting beter / slechter is dan cookies?
 
- Ariën  -
Beheerder

- Ariën -

10/03/2019 10:09:07
Quote Anchor link
Er is een hoop over te lezen. Ik zou het dan liever gaan gebruiken. Cookies kan je wissen, en dat sloopt het idee van je 2FA onthouden weer een beetje.

https://en.m.wikipedia.org/wiki/Device_fingerprint
Gewijzigd op 10/03/2019 10:20:06 door - Ariën -
 
Rob Doemaarwat

Rob Doemaarwat

10/03/2019 11:49:57
Quote Anchor link
- Ariën - op 10/03/2019 10:09:07:
Cookies kan je wissen

Volgens mij is dit juist waar cookies voor bedoeld zijn - de nette manier zeg maar. Fingerprinting is meer wat die shady advertentieboeren gebruiken om - ondanks dat je het niet wilt - je toch te volgen. Als ik mijn cookies wil wissen, dan wis ik toch mijn cookies?

En andersom: op mijn mobiel wissel ik vaker van IP-adres (meerdere malen per dag) dan dat ik m'n cookies wis (nooit).
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 11:51:24
Quote Anchor link
Is het zo dat Adblockers de fingerprint kunnen blokkeren?
Want als dat zo is en de gebruiker heeft adblocker, dan is het "onthouden" een beetje nutteloos.
 
- Ariën  -
Beheerder

- Ariën -

10/03/2019 12:00:58
Quote Anchor link
Dat staat er los van, je hebt het nu over 'ad(vertentie) blockers'. Als je een fingerprint in je database opslaat. Hoe zou je browser die moeten detecteren? ;-)

Facebook maakt ook een fingerprint.

Edit:
Ik heb net een fout gekaapt topic gesloten met berichten erin die in dit topic thuishoorden:
https://www.phphulp.nl/php/forum/topic/sql-select-columns-met-zelfde-waarde/102806/
(en deze posts verhuizen kan ik ook niet)
Gewijzigd op 10/03/2019 12:22:08 door - Ariën -
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 14:45:23
Quote Anchor link
Owh, ik dacht dat ik mijn reactie onder mijn eigen topic had geplaatst..
Sorry daarvoor.


Toevoeging op 10/03/2019 16:34:52:

Nog even een vraag.
Als ik cookies gebruik, is het dan per se nodig om die cookies te versleutelen?
En zoja, hoe kan ik dat dan doen?
 
- Ariën  -
Beheerder

- Ariën -

10/03/2019 17:17:52
Quote Anchor link
cookies zijn tekstbestanden bij de bezoeker. Waar haal je de wijsheid vandaan dat je die kan versleutelen?
Je kan inhoud erin versleutelen, maar veilig is het niet.
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 17:23:42
Quote Anchor link
Ik las op internet dat het "veiliger" zou zijn tegen hackers die de cookies willen misbruiken.
Zoiets.
 
- Ariën  -
Beheerder

- Ariën -

10/03/2019 17:31:25
Quote Anchor link
Dan moet je die niet bij de bezoeker parkeren :P
Ben je niet in de war met sessies, waarvan de data op de server zelf staat?
 
Thomas van den Heuvel

Thomas van den Heuvel

10/03/2019 17:31:59
Quote Anchor link
Klok, klepel.

Wat je wel kunt doen is het cookie bepaalde flags meegeven.

Zie de documentatie.

Hint: secure en httponly parameter

Nota bene: hier maakte @Remco je al op attent op de eerste pagina van deze thread.

Het is verleidelijk om alles meteen (met de nadruk op "alles" en "meteen") te vragen, maar het is veel leerzamer (en helpt je ook meer op de lange termijn) als je zelf probeert wijzer te worden in de materie.

EDIT: je moet er uiteraard altijd naar streven om niet of zo min mogelijk echt gevoelige informatie in cookies te stoppen. Grote kans dat je dit vaak elders beter kunt oplossen.
Gewijzigd op 10/03/2019 17:33:14 door Thomas van den Heuvel
 
Jin vanTongeren

Jin vanTongeren

10/03/2019 19:23:45
Quote Anchor link
Ik heb nu deze 2 regels in mijn .htaccess bestand staan:
Header edit Set-Cookie ^(.*)$ "$1; HTTPOnly"
Header edit Set-Cookie ^(.*)$ "$1; Secure"

Ik zat er ook over na te denken om de cookie content / value te hashen.
Maar ik weet niet of dat wel heel veel zin heeft.



Toevoeging op 10/03/2019 20:15:02:

Na die lines in de htaccess neer te hebben gezet, doen mijn sessions het ineens niet meer.
In het bestand waar de gebruiker naartoe gaat als die is ingelogd, staat het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if(isset($_SESSION['User'])) {
// de rest van de code
}
else {
header("location: login.php?ingelogd=fail");
exit();
}

?>


En nu kom ik dus de hele tijd op de login pagina uit, terwijl ik dan wel ben ingelogd.
Zo word de session gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
            if($row = mysqli_fetch_assoc($result)) {
                if($row['2FAStatus'] == 0) {
                    $_SESSION['User'] =$row['UName'];
                    $_SESSION['ID'] =$row['ID'];
                    header("Location:../welcome.php?uid=".$row['UName']);
                    exit();
                }

?>

Ik snap niet waarom de session 'User' niet wordt gestart...
Gewijzigd op 10/03/2019 23:26:42 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/03/2019 23:18:42
Quote Anchor link
session_start() vergeten?
 
Jin vanTongeren

Jin vanTongeren

11/03/2019 10:54:08
Quote Anchor link
Nee.
Ik heb mijn localhost (XAMPP) opnieuw geïnstalleerd, maar de sessions doen het nog steeds niet.
En ik weet zeker dat bovenaan session_start(); staat.
 
- Ariën  -
Beheerder

- Ariën -

11/03/2019 12:50:58
Quote Anchor link
Wat staat er in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print_r($_SESSION);
?>
 

Pagina: « vorige 1 2 3 4 5 6 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.