} else { // Obrazec je izpolnjen. Zdaj moram preveriti, če sta // Prava uporabniško ime in geslo. $mysqli = new mysqli("178.172.41.68", "tepauth", "tepauth"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit; } // Izberem podatkovno bazo $mysqli->select_db("TepDB"); // Naredim poizvedbo za izbrano ime // POZOR: kriptiranje gesla naredim pred klicem MySQL // Če se shranjeno kriptirano geslo in tiso, ki ga je vnesel uporabnik // ujemata, je prijava uspešna. $query = "select * from uporabniki where ime = '" . $ime . "' and geslo = sha1('" . $geslo . "')"; // Izvedem poizvedbo v MySQL $result = $mysqli->query($query); if ($result->num_rows > 0) { echo "Uspešno si se prijavil v sistem <b>" . $ime . "</b> !"; $_SESSION['valid_user'] = $ime; } else { echo "Neuspešna prijava! Poizkusi ponovno."; } } // desniStolpec('Logiranje preko podatkovne baze MySQL'); noga(); ?>
<?php session_start(); require 'predloga.php'; require 'PassFunctions.php'; require 'Obrazci.php'; head(); meni(); leviStolpec(); // Vaje za preverjanje moči gesla echo "Avtentikacija na Flickr"; try { $oauth = new OAuth(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET); $oauth->setToken($request_token, $request_token_secret); $access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token"); if (!empty($access_token_info)) { print_r($access_token_info); } else { print "Failed fetching access token, response was: " . $oauth->getLastResponse(); } } catch (OAuthException $E) { echo "Response: " . $E->lastResponse . "\n"; } // desniStolpec('Logiranje'); noga(); ?>
<?php session_start(); require 'predloga.php'; require 'PassFunctions.php'; require 'Obrazci.php'; head(); meni(); leviStolpec(); // Shranim uporabnika, da vem, če je bil pred tem sploh logiran. $old_user = $_SESSION['valid_user']; // Uporabnika odstranim oz. uničim spremenljivko. unset($_SESSION['valid_user']); echo "<h3>Odjava iz sistema</h3>"; if (!empty($old_user)) { //Če je bil uporabnik pred tem res že vpisan, dobi naslednje sporočilo. echo 'Zdaj si odjavljen iz sistema.<br/>'; } else { echo 'Saj sploh še nisi bil vpisan ... <br/>'; } // desniStolpec('Logiranje s fiksnim uporabniškim imenom in geslom'); noga(); ?>
<?php session_start(); require 'predloga.php'; head(); meni(); leviStolpec(); echo "Kreiranje (JSON)<br/>"; $url = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=6e59943ed19e98f608207034eca4f464&tags=pink+floyd&format=json&nojsoncallback=1&auth_token=72157636769993395-8f878f1a02985df8&api_sig=6445e2c65f2a2dd9937af74e536a0b90"; $jsonObject = json_decode(file_get_contents($url), true); //print_r($jsonObject); /* foreach($jsonObject['photo'] as $fotka){ echo $fotka['title']."<br/>"; }*/ echo "Page:" . $jsonObject[photos][page] . "<br/>"; echo "Pages:" . $jsonObject[photos][pages] . "<br/>"; echo "Per page:" . $jsonObject[photos][perpage] . "<br/>"; echo "Total" . $jsonObject[photos][total] . "<br/>"; echo "Photo" . $jsonObject[photos][photo] . "<br/>"; echo "Title" . $jsonObject[photos][photo][0][title] . "<br/>"; echo "<hr/>"; for ($i = 0; $i < 100; $i++) { echo $jsonObject[photos][photo][$i][title] . "<br/>"; } desniStolpec("Stran B"); noga(); ?>
<?php session_start(); require 'predloga.php'; head(); meni(); leviStolpec(); // Klic funkcije vsebinaB lahko nadomestiš s PHP kodo za izpis // poljubne vsebine v osrednjem delu dokumenta. vsebinaC(); desniStolpec("Stran C"); noga(); ?>
<?php error_reporting(E_ALL); ini_set('display_errors', 1); session_start(); require 'predloga.php'; require 'PassFunctions.php'; require 'Obrazci.php'; require_once 'securimage/securimage.php'; head(); meni(); leviStolpec(); // Vaje za preverjanje moči gesla echo "Vaja za prikaz konfiguriranja CAPTCHA objekta"; echo "<img style='border:solid 1px' src='securimage/mathimage.php'/>"; desniStolpec('CAPTCHA primer'); noga(); ?>
<?php // ........................................................... // Z namenom, da si stvari poenostavimo t.j. da se izoognemu pisanju istih // stvari večkrat in da si poenostavimo vzdrževanje kode, si lahko sestavimo // predlogo. Dokument razdelimo na več delov (po več funkcijah). S klici // v pravem vrstnem redu sestavimo dokument na zelo enostaven način. // Vse strani na spletni strani lahko oblikujemo po tem vzorcu // ........................................................... // Najprej poskrbim za uporabo sej session_start(); // Vključim datoteko, v kateri so shranjene funkcije, ki izrišejo zaslon require 'predloga.php'; // S klici v pravem vrstnem redu sestavim HTML dokument. // Po potrebi spreminjamo tudi obliko ostalih elementov. // Npr. meni(), meniGost(), meniAdmin(), desniStolpec(), desniStolpecInfo() ipd. head(); meni(); leviStolpec(); // ........................................................... // Tukaj vnesemo kodo ali kličemo funkcijo, ki bo izpisovala // v osrednji del zaslona t.j. v blok z ID-jem "content" // ........................................................... echo "Pozdravljan! <br/>"; echo "<a href='izpisB.php'>Tukaj skočiš na vsebino B</a>"; // ........................................................... desniStolpec("Uvodna stran"); noga(); ?>
// ........................................................... // Izpis vpisanih vrednosti v obrazec echo "Ime = " . htmlspecialchars($ime, ENT_NOQUOTES, "UTF-8") . "<br/>"; echo "E-mail = " . $email . "<br/>"; echo "Geslo = " . $geslo . "<br/>"; echo "Geslo2 = " . $geslo2 . "<br/>"; echo "CaptchaCode = " . $captchaCode . "<br/>"; // Preverjanje funkcij za odstranjevanje / dodajanje slashev echo "<hr/>"; echo "Odstranim slashe:" . stripslashes($_POST['ime']) . "<br/>"; echo "Dodam slashe:" . addslashes($_POST['ime']) . "<br/>"; echo "<hr/>"; echoResult("Preverjanje dolžine (med 6 in 16 znaki): ", isWithinLength($geslo, 6, 16)); echoResult("Preverjanje ujemanja obeh vpisanih gesel: ", $geslo == $geslo2); echoResult("Ali geslo vsebuje cifre: ", areDigitsPresent($geslo)); echoResult("Ali geslo vsebuje male znake abecede: ", areLowerCharsPresent($geslo)); echoResult("Ali geslo vsebuje velike znake abecede: ", areUpperCharsPresent($geslo)); echoResult("Ali geslo vsebuje posebne znake: ", areSpecCharsPresent($geslo)); echo "Moč gesla (pri min. dolžini 6 znakov) = " . passwordStrength($geslo, 6) . "<br/>"; echoResult("Ali geslo ima moč 4 in je med 6 - 16 znaki? ", isStrongEnough($geslo, 6, 16, 4)); echoResult("Je e-mail ustrezen? ", isEmailValid($email)); echoResult('Ali je bila CAPTCHA koda pravilno vnešena? ', $imgCaptcha->check($captchaCode) == true); // ........................................................... // Izpis informacije v desn stolpec // ........................................................... $infoOdstavek = "Preverjanje moči gesla, funkcij za delo z nizi, ter preprečevanje " . "napadov kot sta XSS in SQL injection"; desniStolpec($infoOdstavek); noga(); ?>
$polje[2] = 'dodatek'; $povezan = implode('@', $polje); echo "Združitev imena pri afni: " . $povezan . "<br/>"; echo "Geslo brez začetnih in končnih presledkov: " . trim($geslo) . "<br/>"; echo "Je geslo dovolj dolgo? " . isLongEnough($geslo, 10) . "<br/>"; //echo "Je geslo obakrat enako: " . isDoubleChecked($geslo, $geslo2) . "<br/>"; echo "Je geslo obakrat enako: " . isDoubleChecked('abc', 'abc') . "<br/>"; echo nl2br("foo isn't\n bar"); $str = 'sdfsdrtreteqtqe7gsdfwevtertq'; if (preg_match('#[0-9]#', $geslo)) { echo ' Ima cifre'; } else { echo ' Nima cifer'; } // Alternativa temu je: preg_match('#[\d]#',$str) if (ereg('[[:digit:]]', $geslo)) { echo '<br/>RE: Ima cifre'; } else { echo '<br/>RE: Nima cifer'; } if (preg_match('#[a-b]#', $geslo)) { echo ' Ima male znake'; } else { echo ' Nima malih znakov'; } // desniStolpec(); noga(); ?>