Introduktion till datasäkerhet. Christian Ohlsson 1
|
|
- Gunilla Axelsson
- för 8 år sedan
- Visningar:
Transkript
1 Introduktion till datasäkerhet Christian Ohlsson 1
2 Varför säkra upp webbapplikationer? Christian Ohlsson 2
3 Vart ska man attackera? Tema WP PHP Apache Win/ Mac/ Linux h"ps Cisco h"ps SUN Klient Brandvägg Server Christian Ohlsson 3
4 Brandväggen? Christian Ohlsson 4
5 Krypteringen? Christian Ohlsson 5
6 Servern? Christian Ohlsson 6
7 Apache? Christian Ohlsson 7
8 PHP? Christian Ohlsson 8
9 WordPress? Christian Ohlsson 9
10 Någons okontrollerade kod? Christian Ohlsson 10
11 Virus drabbar amerikanska drönare Christian Ohlsson 11
12 SONY Playstation Network 77 miljoner konton stulna. Lösenord i klartext Christian Ohlsson 12
13 SonyPictures.com LulzSec: SQLi stal konton Christian Ohlsson 13
14 Top 25 Most Dangerous Software Errors 1. SQL Injection 2. OS Command Injection 3. Classic Buffer Overflow 4. Cross-site Scripting 5. Missing Authentication for Critical Function 6. Missing Authorization 7. Use of Hard-coded Credentials 8. Missing Encryption of Sensitive Data 9. Unrestricted Upload of File with Dangerous Type 10. Reliance on Untrusted Inputs in a Security Decision Christian Ohlsson 14
15 Definitioner Identifiering Autentisering Auktorisering Sessionshantering Christian Ohlsson 15
16 Identifiering/Autentisering Hur kan man bevisa vem man är? Biometriska pass ID-kort med foto Fingeravtryck Användarnamn/Lösenord Christian Ohlsson 16
17 Autentisering Enkla eller multipla faktorer Endast lösenord Lösenord samt fingeravtryck Avvägning mellan Enkelhet Kostnad Komplexitet Säkerhet Christian Ohlsson 17
18 Christian Ohlsson 18
19 Christian Ohlsson 19
20 Autentisering på webben Christian Ohlsson 20
21 Autentisering på webben Enkel autentisering (Basic) Autentisering med Digest Autentisering med Formulär Christian Ohlsson 21
22 Enkel autentisering Christian Ohlsson 22
23 Enkel autentisering Christian Ohlsson 23
24 Enkel autentisering Ingen kryptering Användarnamn och lösenord bara kodas om Kräver en säker kommunikationskanal Christian Ohlsson 24
25 Digest-autentisering Hashar username och password Christian Ohlsson 25
26 Digest-autentisering Christian Ohlsson 26
27 Digest-autentisering Fördelar Kommunikationen är mer säker, trots viss osäkerhet med användningen av MD5 Nackdelar Server lagrar användarnamn/lösenord i klartext Sårbar mot Man-in-the-middle-attacker (MITM) Christian Ohlsson 27
28 Autentisering med formulär Christian Ohlsson 28
29 Autentisering med formulär Fördelar Enkel att utveckla Interface som skapas av designers Kan använda multi-faktor autentisering Nackdelar Kräver en säker kanal Christian Ohlsson 29
30 Andra autentiserings-metoder Single-sign-on Open-ID, ShibboLeth osv Använda Windows-autentisering Token-baserad Open-time-passords (OTP) Secure-ID osv Publik-nyckel (SSL med klient-cert) Christian Ohlsson 30
31 RBAC: Roll baserad Access-kontroll Roller i systemet identifieras admins, gruppledare, utvecklare Rättigheter tilldelas roller Gruppledare kan skriva på webbsidan Entiteter tilldelas roll/roller Anna är en gruppledare Christian Ohlsson 31
32 RBAC: Roll baserad Access-kontroll Mycket enklare än att tilldela rättigheter på entitetsnivå Dessa roller kan enkelt länka till de befintliga roller som finns inom organisationen Automatisk underhåll Mindre administration Christian Ohlsson 32
33 RBAC: Roll baserad Access-kontroll Christian Ohlsson 33
34 Ring a bell? Christian Ohlsson 34
35 Olika typer av attacker Christian Ohlsson 35
36 Olika typer av attacker Sessions-attacker Session Fixation / Sessions-ID forgery Cross-Site Scripting Cross-Site Request Forgery Injection SQL Injection Command Injection Google Hacks Christian Ohlsson 36
37 Session ID Forgery Manipulering av URL Manipulering av POST-parametrar Christian Ohlsson 37
38 Citibank Citibank kunder förlorade $2.7 miljoner dollar i en attack Christian Ohlsson 38
39 23-årig attackerare fick konton Christian Ohlsson 39
40 Cross-Site-Scripting Den absolut vanligaste formen av sårbarhet på dagens webbsidor Man beräknar att upp till 68% kan vara sårbara för XSS Christian Ohlsson 40
41 Cross-Site-Scripting Beständig Christian Ohlsson 41
42 Cross-Site-Scripting Icke-Beständig Christian Ohlsson 42
43 Little Bobby Tables J Christian Ohlsson 43
44 Cross-Site-Scripting Vad kan hända om man blir utsatt? Väldigt mycket: Identitets-stölder Spridning av elak programvara Site Defacement: Christian Ohlsson 44
45 Christian Ohlsson 45
46 .gov Christian Ohlsson 46
47 Christian Ohlsson 47
48 Wordpress.org Lagade en felaktighet som kunde leda till XSS i version Christian Ohlsson 48
49 XSS: Man kan man lära sig? Lita aldrig, aldrig aldrig på User Input, bland annat genom: Formulär URL Cookie HTTP Headers Christian Ohlsson 49
50 XSS: Motmedel Ta bort HTML-kod Använd White-list eller Backlist Använd märkord istället för HTML Som Wikis & forum gör med med BB-code Använd ett scannerverktyg Exempelvis Acunetix Christian Ohlsson 50
51 Cross-Site-Request Forgery Christian Ohlsson 51
52 Cross-Site-Request Forgery Christian Ohlsson 52
53 Cross-Site-Request Forgery: Motmedel För slutanvändaren finns väldigt lite man kan göra Logga ut från sajten före du besöker nästa Använd inte Kom ihåg mig -knappen Surfa inte på platser du inte litar på Christian Ohlsson 53
54 Cross-Site-Request Forgery: Motmedel För utvecklaren av sajten finns en del saker man kan göra: Ta med ett hemligt nounce i formulär Ignorera GET-parametrar när du processar POST-data Christian Ohlsson 54
55 SQL Injection Christian Ohlsson 55
56 SQL Injection SQL injektion är indata från användaren som tillåts passera direkt till databasen utan att ha tvättats Christian Ohlsson 56
57 SQL Injection: Exempel Christian Ohlsson 57
58 SQL Injection: Motmedel Lita aldrig, aldrig aldrig på User Input, bland annat genom: Formulär URL Cookie HTTP Headers Christian Ohlsson 58
59 SQL Injection: Motmedel Använd Prepared Statements Fördelar Förkompilerade frågor: lite snabbare Nackdelar Liiiite mer komplext Christian Ohlsson 59
60 Google Hacking DB Christian Ohlsson 60
61 exploit-db.com: Sårbarheter i WordPress Christian Ohlsson 61
62 1337day.com Enorm databas med färdiga exploits Christian Ohlsson 62
63 metaspliot.com Christian Ohlsson 63
64 User input? NEVER NEVER NEVER TRUST USER INPUT Christian Ohlsson 64
65 Stuxnet Video om Stuxnet TED-talks om Stuxnet ralph_langner_cracking_stuxnet_a_21st_century_cyb erweapon.html Christian Ohlsson 65
66 Skriva säker kod i WordPress Christian Ohlsson 66
67 Kodarens gyllene regel Christian Ohlsson 67
68 Informationshantering All data är skadlig till dess att motsatsen bevisats Christian Ohlsson 68
69 SQLi och WordPress global $wpdb; $ID = $_GET['ID']; $sql = "SELECT post_title FROM $wpdb->posts WHERE ID = '$ID';"; Tänkt resultat: SELECT post_title FROM wp_posts WHERE ID = '5'; Christian Ohlsson 69
70 SQLi och WordPress global $wpdb; $ID = $_GET['ID']; $sql = "SELECT post_title FROM $wpdb->posts WHERE ID = '$ID';"; Möjligt resultat: SELECT post_title FROM wp_posts WHERE ID = ' ; SELECT * FROM wp_users WHERE 1 = '1'; Christian Ohlsson 70
71 $wpdb->insert() Christian Ohlsson 71
72 $wpdb->insert() $wpdb->insert( $table, $data, $format ) $wpdb->insert( $wpdb->postmeta, array( 'post_id' => '5', 'meta_key' => '_custom_meta_key', 'meta_value' => 'true' ), array( '%d', '%s', '%s' ) ); Christian Ohlsson 72
73 $wpdb->update() Christian Ohlsson 73
74 $wpdb->update( $table, $data, $where, $format, $where_format ) $wpdb->update( $wpdb->postmeta', array( 'meta_value' => 'false' ), array( 'post_id' => 5, 'meta_key' => '_custom_meta_key' ), array( '%s' ), array( '%d', '%s' ) ); Christian Ohlsson 74
75 $wpdb->delete() Christian Ohlsson 75
76 $wpdb->delete() $wpdb->delete( $table, $where, $where_format ) $wpdb->delete( $wpdb->posts, array( 'ID' => 5 ), array( '%d' ) ); Christian Ohlsson 76
77 $wpdb->prepare() Christian Ohlsson 77
78 $wpdb->prepare() $wpdb->prepare( " SELECT post_title FROM $wpdb->posts WHERE ID = %d ", $ID ); Hanterar strängar (%s) och integers (%d) Tar hand om all escaping Du behöver inte sätta %s inom och Christian Ohlsson 78
79 $wpdb->prepare() $wpdb->prepare( " DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s ", 420, 'Europe' ); Christian Ohlsson 79
80 $wpdb->prepare() $wpdb->prepare() snyggar till frågan, inte exekverar den! $wpdb->query( $wpdb->prepare( " DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s ", 420, 'Europe' ) ); För att se vad den gör: skriv ut det echo $wpdb->prepare( " DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s ", 420, 'Europe' ); Christian Ohlsson 80
81 Cross-Site Scripting (XSS) Vad innebär att escape a en sträng? Det innebär att du tar data som du redan har och säkrar den före du visar den för en användare Christian Ohlsson 81
82 Escaping esc_attr_e() esc_ är prefixet för alla funktioner som escape ar saker 2. attr är den kontext som skall bli escape ad 3. _e är suffixet om du använder översättning Christian Ohlsson 82
83 Cross-Site Scripting (XSS) DÅLIGT <h1><?php echo $title;?></h1> Christian Ohlsson 83
84 Cross-Site Scripting (XSS) DÅLIGT <?php $title = "<script>alert('hello Europe!');</script>";?> <h1><?php echo $title;?></h1> Christian Ohlsson 84
85 Cross-Site Scripting (XSS) BRA <?php $title = "<script>alert('hello Europe!');</script>";?> <h1><?php echo esc_html( $title );?></h1> Christian Ohlsson 85
86 esc_attr() Används när du vill visa data i ett HTML element <input type="text" name="name" value="<?php echo esc_attr( $text );?>" /> Christian Ohlsson 86
87 esc_textarea() Används när du vill visa data i en <textarea> <textarea name="bio"> <?php echo esc_textarea( $bio);?> </textarea> Christian Ohlsson 87
88 esc_url() Används när du vill validera och tvätta URL <a href="<?php echo esc_url( $url);?>">link</a> Christian Ohlsson 88
89 absint() Konverterar en siffra till en positiv siffra $ID = absint( $_GET['ID'] ); <input type="text" name="number_posts" value= <?php echo absint( $number );?>" /> Christian Ohlsson 89
90 intval() Returnerar en integer. Fungerar med negativa tal $ID = intval( $_GET['ID'] ); <input type="text" name="number_posts" value= <?php echo intval( $number );?>" /> Christian Ohlsson 90
91 Sanera data Att sanera data innebär att du tar data och tvättar den ren Christian Ohlsson 91
92 Cross-Site Scripting (XSS) DÅLIGT <?php update_post_meta( 420, '_post_meta_key', $_POST['new_meta_value'] );?> Christian Ohlsson 92
93 sanitize_text_field() BRA <?php update_post_meta( 34, '_post_meta_key', sanitize_text_field( $_POST['new_meta_value'] ) );?> Christian Ohlsson 93
94 Cross-site Request Forgery (CSRF) Exploit av en webbplats där elaka kommandon skickas från en användare som webbplatsen litar på Christian Ohlsson 94
95 Cross-site Request Forgery (CSRF) Nonces Action, object och user-specifika tidsstämplade hemliga nycklar Christian Ohlsson 95
96 Cross-site Request Forgery (CSRF) <?php if ( isset( $_POST[' '] ) ) { //process form data }?> <form method="post"> <input type="text" name=" /><br /> <input type="submit" name="submit" value="submit" /> </form> Man kan inte veta var $_POST[ ] kommer ifrån! Christian Ohlsson 96
97 wp_nonce_field( $action, $name, $referer, $echo ); Formulär: <form method="post"> <?php wp_nonce_field( 'bw_process_ _action', 'bw_newsletter' );?> <input type="text" name=" " /><br /> <input type="submit" name="submit" value="submit" /> </form> View Source: <form method="post"> <input type="hidden" id="bw_newsletter" name="bw_newsletter" value="287de957e8" /> <input type="hidden" name="_wp_http_referer" value="/x/sample-page/" /> <input type="text" name=" " /><br /> <input type="submit" name="submit" value="submit" /> </form> Christian Ohlsson 97
98 check_admin_referer($action, $query_arg ) Kontrollera koden: if ( isset( $_POST[' '] ) ) { check_admin_referer( 'bw_process_ _action', 'bw_newsletter' ); //process form data } Christian Ohlsson 98
99 Fixat exempel <?php if ( isset( $_POST[' '] ) ) { check_admin_referer( 'bw_process_ _action', 'bw_newsletter' ); //process form data }?> <form method="post"> <?php wp_nonce_field( 'bw_process_ _action', 'bw_newsletter' );?> <input type="text" name=" " /><br /> <input type="submit" name="submit" value="submit" /> </form> Christian Ohlsson 99
100 wp_nonce_url($actionurl, $action, $name ) $url = ' $url = wp_nonce_url( $url, 'bw_process_ _action', 'bw_newsletter' ); Ny URL: Christian Ohlsson 100
101 Nounces Specifika till: WordPress-användaren Vilken action som skall tas Objektet som vill ta nämnda action Tiden då det händer Christian Ohlsson 101
102 Mer att läsa Säkerhetsartiklar Validating_Sanitizing_and_Escaping_User_Data Säkerhetspresentationer Christian Ohlsson 102
103 Säkra din WordPress-installation Christian Ohlsson 103
104 #1 Uppdatera! Det första du skall göra är att uppdatera Wordpress ofta Minst veckovis Wordpress uppdateras ofta, och ofta är det för att säkerhetsmissar har gjorts Precis som all programvara Christian Ohlsson 104
105 #2 Byta ditt username Se till att du inte använder ett vanligt användarnamn Det ska inte vara lätt att räkna ut Admin är standard J Eget namn är bättre, men inte bäst Christian Ohlsson 105
106 #3 Välj ett starkt lösenord Starka lösenord är mycket viktiga Använd inte varianter av ditt namn, användarnamn, födelsedag, e-post, mobilnummer eller publikt Vanliga lösenord som många använder är också tabu Tänk långt, tänk svenskt! Christian Ohlsson 106
107 #4 Sätt gräns på antalet login-försök Enkelt och utmärkt sätt att skydda din blogg från brute force attacker Flera plugins finns Hur ofta skriver du fel lösenord flera gånger i rad? Flera = > 10 Christian Ohlsson 107
108 #5 Använd två-vägs-autentisering För att skydda verkligt viktig data Plugins finns för att koppla WP med exempelvis Google Authenticator Christian Ohlsson 108
109 #6 Byt tabell-prefixet Wordpress-tabeller börjar med wp_" som standard Innan du ändrar databasprefix: gör backup Öppna wp-config.php Byt $table_prefix = wp_'; Mot $table_prefix = wp_74rwg2u5_ ; Kan vara knepigt, du behöver aldrig tänka på det igen I phpmyadmin Döp om tabellerna Ex: wp_74rwg2u5_commentmeta Christian Ohlsson 109
110 #7 Göm versionen du kör För äldre Wordpress-versioner finns färdiga exploits Lägg först till denna kod till din functions.php fil: remove_action ('wp_head', 'wp_generator'); Döljer version i WP-headern Och dölj från RSS-läsare function crille_remove_version () { return''; } add_filter ('the_generator', 'crille_remove_version '); Christian Ohlsson 110
111 #8 Skydda wp-config.php Viktigaste konfigurationsfilen Du kan/bör flytta wp-config.php upp en nivå /var/www/crille/public_html/sajt/wp-config.php /var/www/crille/public_html/wp-config.php Christian Ohlsson 111
112 #9 Använd CAPTCHA Med CAPTCHA skyddas inloggningen rejält mot Brute-Force Kan även användas för kommentering Vissa CAPTCHA-plugin blockar IP efter ett antal inloggningsförsök Christian Ohlsson 112
113 #10 Använd säkerhetsplugins Better WP Security Innehåller flera olika säkerhetskontroller Bulletproof Security Skyddar sajt via.htaccess. All-in-one-wp-security-and-firewall Lägger en brandvägg på sajten Sucuri- Scanner Skannar din sajt efter malware osv. Wordfence Innehåller flera olika säkerhetskontroller Exploit Scanner Söker I databasen efter elak kod Christian Ohlsson 113
114 Christian Ohlsson 114
Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly
PHP Säkerhet & Optimering tobias.landen@chas.se se Att läsa om ämnet Bra och kortfattad tt dbok: Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly ISBN 10: 059600656X
Läs merSäkerhet. Säkerhet. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449
Säkerhet Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering
Läs merWebbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook.
Webbsäkerhet för IT-tekniker VT2014 Nätverkssäkerhet, 1DV425 Johan Leitet johan.leitet@lnu.se johan.leitet.se twitter.com/leitet facebook.com/leitet Webbsäkerhet Dagens agenda Webbsäkerhet Klientsida -
Läs merOWASP Topp 10 2013. De 10 allvarligaste riskerna i webbapplikationer. 2013-10-03 OWASP East Sweden: Uppstartsmöte
OWASP Topp 10 2013 De 10 allvarligaste riskerna i webbapplikationer 2013-10-03 OWASP East Sweden: Uppstartsmöte Vad är OWASP Topp 10? Är ett av OWASP mest populära projekt Är inte en standard Fokuserad
Läs merModul 6 Webbsäkerhet
Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra
Läs merSwedish Association for Software Testing 2009-05-12. 2009 Inspect it AB
AB Applikationssäkerhetstestning Swedish Association for Software Testing 2009-05-12 Presentation Vem är jag? Mattias Bergling, Inspect it Arbetar med Informationssäkerhet Fokus på IT-säkerhet Intrångstester
Läs merAvancerade Webbteknologier 2. AD11g Göteborg 2012 Säkerhet
Avancerade Webbteknologier 2 AD11g Göteborg 2012 Säkerhet Korta punkter Projekt: Något som behöver redas ut? Product: Public Guid CategoryID {g; s;} Public virtual Category Category {g; s;} Category: Public
Läs merE11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I
Föreläsning 11, HT2014 Säkerhet, tillgänglighet E11 "Protection" Kurs: 1dv403 Webbteknik I Johan Leitet E11 Protection Dagens agenda Tillgänglighet Säkerhet Webbsajt vs. Webbapp Webbsida/webbsajt Webbapplikation
Läs merWebbprogrammering. Sahand Sadjadee
Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages
Läs merKarlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,
Läs merSäkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010
Säkerhet i applikationslagret och slaget om webben John Wilander, Omegapoint, Rätt säkerhet, maj 2010 John Wilander, konsult Omegapoint Forskar inom mjukvarusäkerhet Leder svenska OWASP Certifierad inom
Läs merWebbsäkerhet. för IT-tekniker VT2013. Johan Leitet johan.leitet.se
Webbsäkerhet för IT-tekniker VT2013 Johan Leitet johan.leitet.se Dagens agenda Klient/server-arkitektur, attackvektorer HTTPS Attackvektorer, klientsida - Cross-site-scripting - Session-hijacking - CSRF
Läs merKryptering. Krypteringsmetoder
Kryptering Kryptering är att göra information svårläslig för alla som inte ska kunna läsa den. För att göra informationen läslig igen krävs dekryptering. Kryptering består av två delar, en algoritm och
Läs merTentamen etjänster och webbprogrammering
Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 26/8 Tid 8.00 12.00 Lärare Owen Eriksson Fredrik Bengtsson Maxpoäng 65 För Godkänd krävs minst
Läs merModul 8 Hantering av indata
Modul 8 Hantering av indata Indata De flesta webbplatser idag tillåter användare att mata in data Utan denna möjlighet hade inte webben varit vad den är idag Tyvärr innebär detta stora säkerhetsrisker
Läs merWordPress och säkerhet inom tillägg från tredje parter
Daniel Friberg WordPress och säkerhet inom tillägg från tredje parter Skydda mot SQL-injection och Cross Site Scripting. Fallstudie av tre tillägg. WordPress and security in third party plugins Protect
Läs merWebbprogrammering - 725G54 PHP. Foreläsning II
Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till
Läs merWebbservrar, severskript & webbproduktion
Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera
Läs merAvancerade Webbteknologier
Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte
Läs merJobOffice SQL databas på server
JobOffice SQL databas på server Nedan följer en instruktion hur du konfigurerar JobOffice kassas SQL databas på en server. Om du känner dig osäker på det här, kontakta någon lokal data- och nätverkstekniker.
Läs merDatabaser på webben. Revision 5 2000-12-04. Johan Näsholm, johan@nasholm.com
1 (8) Databaser på webben Revision 5 2000-12-04 Johan Näsholm, johan@nasholm.com Den senaste versionen av detta dokumentet finns på www.nasholm.com/docs/dbweb.pdf Syftet med denna skrift och den därtill
Läs merIdentity Management i ett nätverkssäkerhetsperspektiv. Martin Fredriksson
Identity Management i ett nätverkssäkerhetsperspektiv Martin Fredriksson Guide Konsult Göteborg AB, 2004 Varför IdM? Flera olika plattformar/tekniska system Windows, AD, Unix, routrar, VPN, etc, etc Många
Läs merSäkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449
Säkerhet Föreläsning 6 Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering
Läs merContent Management System. Publiceringssystem
Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor
Läs merInstallera din WordPress med 9 enkla steg
Installera din WordPress med 9 enkla steg Den här artikeln förutsätter att du har satt upp en webbserver eller har köpt ett webbhotell där du kan placera din nya WordPress hemsida. Om du inte har det,
Läs merTomas Axelsson
Tomas Axelsson tomas.axelsson@highendmedia.se https://highendmedia.se Säkerhet och backup Väldigt många hackers försöker komma åt personuppgifter, driva trafik till egna sajter, skapa länkar ur SEO-syfte
Läs mer10 TIPS FÖR ATT SÄKRA DIN HEMSIDA. Hur du gör för skydda dig mot att din hemsida ska hackas.
10 TIPS FÖR ATT SÄKRA DIN HEMSIDA Hur du gör för skydda dig mot att din hemsida ska hackas. Först och främst! Använda alltid svåra lösenord. Dom bör innehålla en stor bokstav, flera små bokstäver, nån
Läs merLagring i molnet. Per Hellqvist Senior Security Specialist Symantec Nordic AB
Lagring i molnet Per Hellqvist Senior Security Specialist Symantec Nordic AB Först: Symantec har SaaS-tjänster* (*Storage as a Service) I Symantec Protection Network ingår Symantec Online Storage Symantec
Läs merLaboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem
Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Målsättning Att bygg upp en komplett webbplats i ett publiceringssystem. Platsen ska vara snygg,
Läs merPHP - Fortsättning. PHP och MySQL
PHP - Fortsättning Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se PHP och MySQL Skapa en databasbaserad telefonkatalog Steg 1 Skapa en MySQL databas. Steg 2 Skapa en tabell i denna
Läs mer729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)
729G28 Webbprogrammering och databaser Introduktion till webbutveckling med PHP Jakob Pogulis Institutionen för Datavetenskap (IDA) 729G28 Webbprogrammering och databaser Introduktion till webbutveckling
Läs merInnehåll. Dokumentet gäller från och med version 2014.3 1
Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen
Läs merVirus och andra elakartade program
Modul 10 Trojaner Virus och andra elakartade program Datorvirus har senaste tiden fått mycket publicitet Datorvirus är en typ av elakartad programvara Effekterna av ett datorvirus är normalt uppenbar Virusrapporter
Läs merUppdatera Easy Planning till SQL
Easy Planning SQL 8.x är vår senaste version av planeringsprogram. Vi rekommenderar alla kunder att uppdatera till den senaste versionen då många nya funktioner har tillkommit. Alla användare som har den
Läs meremopluppen Installationsmanual
emopluppen Installationsmanual Sammanfattning Den här manualen beskriver hur man installerar Emo-Pluppen. Innehållsförteckning 1 - Förberedelser... 1.1 - Operativsystem... 1.2 - PHP... 1. - Webbserver...
Läs merWebbsidor och webbservrar
Webbsidor och webbservrar Server HTTP-protokollet Dokument (t.ex. HTML kod) Klient URL (t.ex. länk) Normal funktion hos webben: Användaren klickar på länk eller anger URL på annat sätt. Servern lokaliserar
Läs merInstruktion för integration mot CAS
IT-enheten Instruktion för integration mot CAS Per Hörnblad Instruktion 2010-10-29 Sid 1 (7) Instruktion för integration mot CAS Projektnamn Instruktioner för Integration mot CAS Fastställt av Per Hörnblad
Läs merFallstudie runt införande av SWAMIDs multifaktorinloggning vid ett lärosäte
Fallstudie runt införande av SWAMIDs multifaktorinloggning vid ett lärosäte Paul Scott (paul.scott@kau.se) Karlstads universitet SWAMID operations Behov av MFA på Karlstads universitet Krav för införande
Läs merMedieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor
http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript
Läs merInstallation xvis besökssystem, Koncern
Installation xvis besökssystem, Koncern Inledning För att installera xvis besökssystem, koncernversion, behövs följande; * SQL Server * Kan vara en express-version, eller en fullständig. *.NET 3.5 * Internet
Läs merDatabaser och Datamodellering Foreläsning IV
Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt
Läs merStatistiska centralbyrån
MONA-handledning 1. Inloggning 2. Användning 3. Utloggning 1. Inloggning För inloggning i MONA-systemet krävs ett användarnamn, en PIN-kod och ett lösenord. Dessa hittar du på ett rekommenderat brev som
Läs merInnehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata
Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen
Läs merGenerell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning
Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk
Läs merContent Management System. Publiceringssystem
Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor
Läs merServices + REST och OAuth
Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different
Läs merÖversikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Läs merInnehåll. MySQL Grundkurs
MySQL Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Innehåll Introduktion till databaser Installera MySQL lokalt Webbserverprogrampaket (XAMPP) Introduktion till phpmyadmin
Läs merIntroduktion Till WordPress
Introduktion Till WordPress Vad är WordPress? ett blogg- och innehållshanteringssystem skrivet i PHP och som använder databasen MySQL för datalagringen Wordpress har under åren utvecklats från ett bloggsystem
Läs merJavaScript in SharePoint and not just for Apps. Wictor Wilén
JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client
Läs merWordPress Multisite. Christian Ohlsson
WordPress Multisite Christian Ohlsson 1 Vad är en Multisite? WordPress Multisite låter dig skapa flera WPsajter med en enda installation av WordPress Innebär Individuella sajter i ett nätverk är virtuella
Läs merSkapa din egen MediaWiki
Skapa din egen MediaWiki Inledning och syfte I detta moment skall du installera en egen wiki (Mediawiki), som du skall konfigurera. Du har möjligheten att använda en egen wiki på din dator eller webbhotell
Läs mertisdag 8 november 11
Hur bygger vi SSO-lösningar utan att påverka IT-infrastrukturen? 2011-11-07 Tommy Almström Product Manager www.nordicedge.se/talmstrom Dagens mest aktuella fråga: Hur många konton samt lösenord har
Läs merIntroduktion HTML och PHP 732G16 Databaser design och programmering
Introduktion HTML och PHP 732G16 Databaser design och programmering 08-04-22 Ingrid Alin Nilsson 1 Presentationen tar upp Lite grundläggande om HTML Grunderna i PHP Styrstrukturer Funktioner Filhantering
Läs merSätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix
Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Arbetsuppgift 1: Uppdatera och uppgradera din installation. Steg 1: Starta och logga på din server,
Läs merInnehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers
Innehåll Security SQL Injektions Säkerhetssystemet Schema Login Användare Roller User Applikationsanvändare AppUser Backup av databas Restore / Recovery av databas Flytta/Kopiera en databas, Detach/Attach
Läs merInstruktion för användande av Citrix MetaFrame
Instruktion för användande av Citrix MetaFrame Öppna valfri browser, helst Google Chrome eller annan modern browser. Firefox, Safari, MS Edge, IE osv fungerar också men Internet Explorer är dock inget
Läs merLär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse
Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill
Läs merIntroduktion till protokoll för nätverkssäkerhet
Tekn.dr. Göran Pulkkis Överlärare i Datateknik Introduktion till protokoll för nätverkssäkerhet Innehåll Varför behövs och hur realiseras datasäkerhet? Datasäkerhetshot Datasäkerhetsteknik Datasäkerhetsprogramvara
Läs merJavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?
Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia
Läs merADO.NET Murach Kapitel 17-20
Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan
Läs merMONA-handledning. 1. Inloggning. Version 2 1(5) Användarhandledning - UTKAST MONA-support. 1. Inloggning 2. Användning 3.
Version 2 1(5) MON-handledning 1. Inloggning 2. nvändning 3. Utloggning 1. Inloggning För inloggning i MON-systemet krävs ett användarnamn, en PIN-kod och ett lösenord. Dessa hittar du på det användarvillkor
Läs merDokumentation för VLDIT AB. Online classroom
Dokumentation för VLDIT AB Online classroom 2 Introduktion VLDIT AB önskar area för att tillhandahålla ett kursutbud online för sina befintliga deltagare, men även för nya. Syfte för applikationen: tillhandhålla
Läs merJAVASCRIPT. Beteende
JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren
Läs merTekniska lösningar som stödjer GDPR
Tekniska lösningar som stödjer GDPR Artikel 5, 1 f) De [personuppgifterna] ska behandlas på ett sätt som säkerställer lämplig säkerhet för personuppgifterna, inbegripet skydd mot obehörig eller otillåten
Läs merDT069G - Multimedia för webben - VT16_P4
DT069G - Multimedia för webben - VT16_P4 Lärmodul 5 CMS MaSv1219 Malin Svensson Kravspecifikation - Uppgiften för den här lärmodulen är att: 1. Skapa en webbplats med valfritt CMS. Webbplatsen ska uppfylla
Läs merWebbaserade informationssystem med PHP och databaser
Dagens föreläsning Webbaserade informationssystem med PHP och databaser 2D1522 Datorteknik och -kommunikation 2D2051 Datbasteknik och datorkommunikation Syfte Ge de praktiska kunskaper och färdigheter
Läs merRiktlinjer för informationssäkerhet
Dnr UFV 2014/1307 Riktlinjer för informationssäkerhet Fastställda av Säkerhetschef 2014-10-28 Innehållsförteckning 1 Inledning 3 2 Ansvar 3 2.1 Efterlevnad 3 2.2 Uppdatering av riktlinjerna 4 3 Definitioner
Läs merF06 A table form Dagens agenda
F06 A table form Dagens agenda Länkar Tabeller Formulär Hyperlänkar index.html feed/news.html klickbar text hippo.png about.html Relativ länk till webbsida via klickbar länk: klickbar
Läs merNya webbservern Dvwebb.mah.se
Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl
Läs merÖverföring av filer med Zendto v 1.1. stora filer som inte kan skickas via e-post konfidentiella uppgifter som inte kan skickas via okrypterad e-post
Folkhälsans ZendTo ZendTo är till för enkel och säker överföring av stora filer som inte kan skickas via e-post konfidentiella uppgifter som inte kan skickas via okrypterad e-post ZendTo används via webbläsare,
Läs merKlientprogrammering mot databaser
Klientprogrammering mot Databaser Java DataBase Connectivity, JDBC Klientprogrammering mot databaser Native API olika för olika DBMS, ofta i C/C++ ODBC, Open Datbase Connectivity samma API för olika databashanterare.
Läs merASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll
ASP.NET MVC Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Introduktion till MVC Controller Action-metoder Views Arbeta med Layout-sidor och sektioner Route konfiguration
Läs merStatistiska centralbyrån
MON-handledning 1. Inloggning 2. nvändning 3. Utloggning 1. Inloggning För inloggning i MON-systemet krävs ett användarnamn, en PIN-kod och ett lösenord. Dessa hittar du på det användarvillkor som skickats
Läs merWebbprogrammering. Introduktion till PHP. Christian Ohlsson
Webbprogrammering Introduktion till PHP 1 Hur fungerar PHP PHP betyder PHP Hypertext Processor Tillhandahåller server-side scripting Är ett interpreterande språk Du skriver ett antal uttryck Webbservern
Läs merLösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document
Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Användarhandledning inloggning Logga in Gå till denna webbsida för att logga in: http://csportal.u4a.se/
Läs merHemsideutveckling för Anjool AB
Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare:
Läs merCipher Suites. Rekommendationer om transportkryptering i e-tjänster
Cipher Suites Rekommendationer om transportkryptering i e-tjänster Innehåll 1. Bakgrund och syfte... 2 2. Revisionshistorik... 2 3. Inledning... 2 3.1 Cipher suites... 2 4. Protokoll för transportkryptering...
Läs merInnehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1
Innehåll PHP Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Introduktion till PHP Webbserver och XAMPP Variabler Datatyper Operatorer $_GET och $_POST Skicka variabler
Läs merInnehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:
Föreläsning 3 JDBC Innehåll JNDI Java Naming and Directory Interface En slags DNS för Objekt JDBC Grunderna Uppkoppling Exekvera SQL-satser Ta hand om resulterande ResultSets Finesser PreparedStatement
Läs merWP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet
WP-Edit Robin Larsson Martin Davik 2014 Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet Handledare: Anders Jackson Examinator: Carina Pettersson WP-Edit av Robin Larsson Martin
Läs merIntroduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Läs meremopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)
emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess
Läs merProjekt Foreläsning VI
Webbprogrammering - 725G54 Projekt Foreläsning VI Agenda Sessions update Labb 5 Genomgång projektuppgift Kursinnehåll avstämning Kursmål avstämning Sessions På IDA måste ni göra session_save_path('dir)
Läs merUppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner
INNEHÅLL Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner Kapitel 5 och 6. Beginning SQL Server 008
Läs merLektion 5 HTML, CSS, PHP och MySQL
Lektion 5 HTML, CSS, PHP och MySQL I den här lektionen behandlas i huvudsak PHP för att läsa information från en databas, MySQL. Det förutsätts att tidigare lektioner är gjorda, eller att du har tillräckliga
Läs merPHP. PHP: Hypertext Preprocessor
PHP PHP: Hypertext Preprocessor Vad är PHP? Script-språk (jmfr. JavaScript / Python) C-liknande syntax (familj: C / C++ / C# / Java) Dynamiskt typat Används främst server-side för att generera dynamisk
Läs merFactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst 2004-10-29
FactoryCast HMI Premium & Quantum PLC MySQL Server och FactoryCast HMI databastjänst 2004-10-29 INNEHÅLLSFÖRTECKNING 1 DATABASTJÄNSTEN...3 1.1 KONFIGURERING AV DATABASTJÄNST...3 2 KONFIGURERING MYSQL...6
Läs merSNITS-Lunch. Säkerhet & webb 2013-10-08
SNITS-Lunch Säkerhet & webb 2013-10-08 Kort om ÅF ÅF i Karlstad idag! Vi är ca 150 varav 50 inom IT Automation Elkraft Mekanik Industriell IT Process och miljö IT och telekom Energi Industri Automotive
Läs merWebbaserade informationssystem med PHP och databaser
Dagens föreläsning Webbaserade informationssystem med PHP och databaser 2D1522 Datorteknik och -kommunikation http://www.nada.kth.se/kurser/kth/2d1522/ Syfte Ge de praktiska kunskaper och färdigheter som
Läs merWWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP
Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API
Läs merF8 Webbteknologier 1. Dynamiska webbsidor
Dynamiska webbsidor F8 Webbteknologier 1 EDA095 Roger Henriksson Datavetenskap Lunds universitet HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den. Ofta vill man ha mera
Läs merTekniska lösningar som stödjer GDPR
Tekniska lösningar som stödjer GDPR Artikel 5, 1 f) De [personuppgifterna] ska behandlas på ett sätt som säkerställer lämplig säkerhet för personuppgifterna, inbegripet skydd mot obehörig eller otillåten
Läs merLathund - Redigera innehåll på Comfort Audios webbplats. 1. Logga in i WordPress... 2 2. Ändra/lägg till användare... 2. 3. Lägga till nya sidor...
2012-05-18 1. Logga in i WordPress... 2 2. Ändra/lägg till användare... 2 2.1 Lägga till ny administratör... 2 2.2 Ändra behörighet på befintlig användare... 2 2.3 Lägg till befintlig användare på fler
Läs mer2 Varför är XSS och SQL-injection så vanligt?
Datum: 2006-10-02 2006-10-02 Skribent: Jonas Feldt Föreläsare: Gunnar Kreitz 2D1395, Datasäkerhet Nya tekniker Den här föreläsningen behandlar säkerhetshål i SQL- och PHP-kod, möjliga exploits av teckenkodningssystemet
Läs merPlugins som får er Wordpress att sticka ut
Plugins som får er Wordpress att sticka ut 01. Inledning Vad är plugins? Plugin på en Wordpress sida är ett tillägg som man installerar för att driva vissa funktioner. Det kan till exempel vara en plugin
Läs merAktivering av SSL (https).
Aktivering av SSL (https). Kommunikation över internet är förhållandevis öppet och det kan därför vara bra att kryptera informationen genom att installera certifikat för er domän. Då kan ni även använda
Läs merFörsättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2010-10-08 Sal Tid 8-12 Kurskod Provkod Kursnamn/benämning TDDD36 TEN2 Projekttermin: Säkra Mobila System Institution
Läs merAnvisningar för inkoppling till Mikrodataåtkomst vid SCB
Anvisningar för inkoppling till Mikrodataåtkomst vid SCB Välkommen till systemet för mikrodataåtkomst, MONA. Denna handledning hjälper dig att snabbt komma igång och arbeta med MONA-systemet. Om du stöter
Läs merProva på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Läs mer