/ Published in: PHP
Izvorni kod za web aplikaciju u kojoj smo implementirali validaciju jednokratne zaporke koju generira uređaj YubiKey.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
// SveuÄiliÅ¡te u Zagrebu, Fakultet organizacije i informatike u Varaždinu // // Projekt iz kolegija Sigurnost informacijskih sustava 2012/2013 // // Tema: Primjena YubiKey-a // // Autori: Ivan Ković, Tomislav Gec // // Da bi kod radio, potrebna mu je klasa Yubikey.php koja se može naći na donjoj adresi // URL: https://github.com/rnavarro/yubikey-php/blob/master/Yubikey.php <?php // $public_id se inace uzima iz baze podataka, povezan je s jedinstvenim acccount-om $public_id = "ccccccbcueie"; // korisnicki podaci se moraju uzimati iz baze podataka $username = "test"; $password = "test"; if($_POST['username'] == $username && $_POST['password'] == $password) { { require_once "Yubikey.php"; // apiID i kljuc dobiju se na adresi "https://upgrade.yubico.com/getapikey/" $apiID = 9920; $signatureKey = "2cbj+NwyBm8YyskUy4PRIzRTZuQ="; $token = new Yubikey($apiID, $signatureKey); // na odgovor servera prilikom provjere ispravnosti OTP-a ceka se do 20 sekundi $token->setCurlTimeout(20); // tolerancija na razliku u timestamp-u kada je kreirana lozinka i kada je predana na provjeru $token->setTimestampTolerance(600); if ($token->verify($otp)) { echo "<p><font color=black font face='sans-serif' size='5pt'>OK! Prijavljeni ste!</p>"; } else { echo "<p><font color=black font face='sans-serif' size='5pt'>Niste se prijavili!</p>"; } echo "\n<p><font color=black font face='sans-serif' size='3pt'>Odgovor servera: ".$token->getLastResponse()."</p>\n"; } else { echo "<p><font color=black font face='sans-serif' size='5pt'>To nije VaÅ¡ Yubikey!</p>\n"; } echo "<a href=http://air2012.comule.com/SIS/forma.html><font color=black font face='sans-serif' size='3pt'>Natrag</a>"; echo "</body>\n"; echo "</html>"; exit; } else { echo "<p><font color=black font face='sans-serif' size='5pt'>Korisnički podaci nisu ispravni!</p>\n"; echo "<a href=http://air2012.comule.com/SIS/forma.html><font color=black font face='sans-serif' size='3pt'>Natrag</a>"; echo "</body>\n"; echo "</html>"; exit; } ?>