Revision: 61749
Updated Code
at January 11, 2013 08:42 by DSTG_Kwan
Updated Code
// 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
$otp = strtolower ($_POST['otp']);
// $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)
{
if ($public_id == substr($otp, 0, 12))
{
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;
}
?>
Revision: 61748
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 11, 2013 07:36 by DSTG_Kwan
Initial Code
<?php
$otp = strtolower ($_POST['otp']);
// $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)
{
if ($public_id == substr($otp, 0, 12))
{
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;
}
?>
Initial URL
Initial Description
Izvorni kod za web aplikaciju u kojoj smo implementirali validaciju jednokratne zaporke koju generira uređaj YubiKey.
Initial Title
SIS 2012/2013 - Primjena YubiKey-a (Tomislav Gec, Ivan Ković)
Initial Tags
php
Initial Language
PHP