SIS 2012/2013-Primjena YubiKey-a(托米斯拉夫Gec,伊万·科维)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SIS 2012/2013-Primjena YubiKey-a(托米斯拉夫Gec,伊万·科维)相关的知识,希望对你有一定的参考价值。

Izvorni kod za web aplikaciju u kojoj smo implementirali validaciju jednokratne zaporke koju generira uređaj YubiKey.
  1. // Sveučilište u Zagrebu, Fakultet organizacije i informatike u Varaždinu
  2. //
  3. // Projekt iz kolegija Sigurnost informacijskih sustava 2012/2013
  4. //
  5. // Tema: Primjena YubiKey-a
  6. //
  7. // Autori: Ivan Ković, Tomislav Gec
  8. //
  9. // Da bi kod radio, potrebna mu je klasa Yubikey.php koja se može naći na donjoj adresi
  10. // URL: https://github.com/rnavarro/yubikey-php/blob/master/Yubikey.php
  11.  
  12. <?php
  13.  
  14. $otp = strtolower ($_POST['otp']);
  15.  
  16. // $public_id se inace uzima iz baze podataka, povezan je s jedinstvenim acccount-om
  17. $public_id = "ccccccbcueie";
  18. // korisnicki podaci se moraju uzimati iz baze podataka
  19. $username = "test";
  20. $password = "test";
  21.  
  22. if($_POST['username'] == $username && $_POST['password'] == $password)
  23. {
  24. if ($public_id == substr($otp, 0, 12))
  25. {
  26. require_once "Yubikey.php";
  27.  
  28. // apiID i kljuc dobiju se na adresi "https://upgrade.yubico.com/getapikey/"
  29. $apiID = 9920;
  30. $signatureKey = "2cbj+NwyBm8YyskUy4PRIzRTZuQ=";
  31.  
  32. $token = new Yubikey($apiID, $signatureKey);
  33.  
  34. // na odgovor servera prilikom provjere ispravnosti OTP-a ceka se do 20 sekundi
  35. $token->setCurlTimeout(20);
  36. // tolerancija na razliku u timestamp-u kada je kreirana lozinka i kada je predana na provjeru
  37. $token->setTimestampTolerance(600);
  38.  
  39.  
  40. if ($token->verify($otp))
  41. {
  42. echo "<p><font color=black font face='sans-serif' size='5pt'>OK! Prijavljeni ste!</p>";
  43. }
  44. else
  45. {
  46. echo "<p><font color=black font face='sans-serif' size='5pt'>Niste se prijavili!</p>";
  47. }
  48.  
  49. echo " <p><font color=black font face='sans-serif' size='3pt'>Odgovor servera: ".$token->getLastResponse()."</p> ";
  50. }
  51. else
  52. {
  53. echo "<p><font color=black font face='sans-serif' size='5pt'>To nije Vaš Yubikey!</p> ";
  54. }
  55.  
  56. echo "<a href=http://air2012.comule.com/SIS/forma.html><font color=black font face='sans-serif' size='3pt'>Natrag</a>";
  57. echo "</body> ";
  58. echo "</html>";
  59.  
  60. }
  61.  
  62. else
  63. {
  64. echo "<p><font color=black font face='sans-serif' size='5pt'>Korisni&#269;ki podaci nisu ispravni!</p> ";
  65. echo "<a href=http://air2012.comule.com/SIS/forma.html><font color=black font face='sans-serif' size='3pt'>Natrag</a>";
  66. echo "</body> ";
  67. echo "</html>";
  68.  
  69. }
  70.  
  71. ?>

以上是关于SIS 2012/2013-Primjena YubiKey-a(托米斯拉夫Gec,伊万·科维)的主要内容,如果未能解决你的问题,请参考以下文章

Caterpillar SIS 2018 CAT SIS 2018

Python小白的数学建模课-B3. 新冠疫情 SIS模型

Caterpillar sis service information training and software

SIS模型与SIR模型的区别与应用?

sis9280触摸ic 基于rk3288 的安卓4.4的 多点触摸

Codeforces Round #503 (by SIS, Div. 2) C. Elections