Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
php:otp [2017/10/15 17:25] webproducer angelegt |
php:otp [2025/01/22 10:48] (aktuell) webproducer |
||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
$base32Key = 'JV4VGZLDOJSXIUDBONZXO33SMQ'; | $base32Key = 'JV4VGZLDOJSXIUDBONZXO33SMQ'; | ||
+ | $rangeIn30s = 2; | ||
- | if( TokenAuth6238::verify( $base32Key, $_POST['token'] ) ) | + | if( TokenAuth6238::verify( $base32Key, $_POST['token'], $rangeIn30s ) ) { |
- | { | + | |
echo "Code is valid"; | echo "Code is valid"; | ||
- | } | + | } else { |
- | else | + | |
- | { | + | |
echo "Invalid code"; | echo "Invalid code"; | ||
} | } | ||
Zeile 21: | Zeile 19: | ||
Wird, wie in diesem Fall, für die Authentifizierung der Type "totp" verwendet werden die Token der Grundlage des Keys und der aktuellen Uhrzeit generiert. | Wird, wie in diesem Fall, für die Authentifizierung der Type "totp" verwendet werden die Token der Grundlage des Keys und der aktuellen Uhrzeit generiert. | ||
- | Die PHP-Klasse PHPOTP (PHP One Time Password) erstellt bei der Validierung des vom User eingegebenen Token sieben Tokens zum Vergleich. Beispiel: | + | Aufgrund einer möglichen Zeitabweichung zwischen dem Client und dem Validierungsserver besteht die Möglichkeit beim Aufruf der Methode verify der PHP-Klasse PHPOTP (PHP One Time Password), als 3. Parameter eine Karenz-Zeit einzustellen. Standardmäßig, wenn der Parameter nicht gesetzt wird, werden 7 Token abgeglichen (3 in der Vergangenheit, der aktuelle und 3 in der Zukunft). Beispiel: |
^ Token ^ Zeit-Differenz ^ | ^ Token ^ Zeit-Differenz ^ | ||
Zeile 33: | Zeile 31: | ||
Somit ist ein Token für 3 Minuten gültig (1,5 Minuten vor der Zeit und 1,5 Minuten nach der Zeit). Mit dieser Taktik können Zeitdifferenzen zwischen Smartphone und Server bis zu 3 Minuten kompensiert werden. | Somit ist ein Token für 3 Minuten gültig (1,5 Minuten vor der Zeit und 1,5 Minuten nach der Zeit). Mit dieser Taktik können Zeitdifferenzen zwischen Smartphone und Server bis zu 3 Minuten kompensiert werden. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | [[php:otpauth|...zurück zur Übersicht der 2-Faktor-Authentifizierung]] |