Hvem er du
1. Hva er mulig med webprogrammerte sider?
Det er vanskelig å si akkurat hvem du er, men en god del mer informasjon enn du kanskje visste, sendes til tjenerne som har de sidene du forsøker å besøke. Under kan du se hvilke opplysninger HiST sin webtjener nettopp mottok fra din maskin. Alle slike opplysninger kan logges av alle tjenere du besøker på web - uten at du trenger å være nevneverdig redd for det. De som kan webprogrammering kan for eksempel bruke opplysningene kreativt. Her er noen eksempler på bruk:
- Vise informasjon på det språk som nettleseren din oppgir som kildespråk (det et sannsynlig at du er svensk dersom nettleseren sier fra om det, men ingen garanti)
- Stenge ute de som har visse IP-adresser
- Vise en spesiell farge til alle som bruker en bestemt nettleser, for eksempel grønn overskrift til de med Internet Explorer og blå for de med Opera.
- Aktivere JavaScript-funksjonalitet som fungerer optimalt med din nettleser
- Vise et bestemt bilde dersom du benytter Windows, et annet om du bruker Mac eller Linux
Dersom du vil lære å programmere dynamiske og interaktive websider, kan du for eksempel lære deg PHP, ASP.NET eller JSP.
2. Noen opplysninger som mottas om deg
- Din IP-adresse er:
3.16.147.139
- Informasjon om språk:
- Forrige side du var på før du kom hit, har addressen:
- Din nettleser gir uttrykk for å være:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
I tillegg vet jeg at du har besøkt min forside (www.aitel.hist.no/~svendah) . Hvordan vet jeg det? Sjekk neste avsnitt...
3. Cookies - informasjonskapsler
Med cookies er det mulig å bevare informasjon om hva du har gjort, hvem du er, og så videre, over tid. En cookie er informasjon som en web-tjener legger igjen på maskinen til
brukeren (klienten) hver gang websiden besøkes (forespørres). Neste gang den samme
klientmaskinen ber om en web-side fra denne tjeneren, vil klienten sende med
cookien (de aller fleste nettlesere er programmert til å gjøre
nettopp dette). Informasjonen i denne cookien kan brukes av tjeneren. Cookies blir nyttige for websteder som genererer innholdet dynamisk
i det en forespørsel kommer.
Som du sikkert gjetter - jeg har brukt teknikken med cookies for å registrere over tid hvor mange ganger du har besøkt min hjemmeside. Du har altså et tall lagret på din maskin, og for hver gang du besøker min side, så oppdateres dette tallet. Samtidig sendes informasjonen til tjeneren som hjemmesiden min er lagret på, og der har jeg et PHP-script som henter fram informasjonen, viser deg antall besøk, og oppdaterer cookien på din maskin. Skummelt? Egentlig ikke. Muligheter? Ja, mange!
4. Morsomt, interaktivt eksempel :-)
I faget "LV197D Webprogrammering med PHP" gjennomgås bevaring av informasjon på en spennende måte,
og vi skal gi en liten smakebit om hvordan du kan teste effekten av cookies.
Følg denne oppskriften (lenkene åpnes bevisst i nye vindu og de skal være åpne samtidig)
- Åpne et nytt vindu for å se hvilken
informasjon som ligger lagret i cookies for det domenet du nå ser på (hvilket
er fagsidene). Denne skal bare ha beskjeden "Dette er en side som tester cookies"
- Velg forrett, hovedrett og dessert ved
å åpne enda et nytt vindu uten å lukke det gamle
- Etter å ha oppgitt desserten, blir du presentert den menyen du har valgt,
og spurt om du ønsker å lagre instillingene. Gjør det, og da lagres
informasjonen i cookies
- Gå tilbake til vinduet med cookies-informasjon, og oppdater dette (Refresh/Reload/F5...)
- Du skal nå få fram en rekke informasjon om det som ble valgt, forutsatt
at din nettleser støtter/har slått på cookies.
- Den informasjonen du ser nå, er informasjon som sendes til server
for hver gang du går inn på en ny side i dette domenet.
- Lukk nettleservinduet med forretten, og gjør punkt 2 på nytt
igjen. Du skal nå få fram informasjonen som du valgte sist gang.
- Med andre ord ligger informasjonen i cookies lagret på din maskin
og sendes til server ved hver forespørsel.
- Prøv nå å slette cookies på din
maskin (kanskje må du etterpå lukke nettleseren). I Internet Explorer
er det bare å velge Tools...Internet Options og så trykke "Delete
Cookies". I noen versjoner av Opera må du starte nettleseren på
nytt etter å ha slettet.
- Gå tilbake til punkt 2, og se at informasjonen er borte. Du kan samtidig
oppdatere vinduet med cookies-informasjon (fra punkt 1).
Eksperimenter litt fram og tilbake og vær sikker på hva som egentlig skjer. Vil
du lære deg å programmere slike ting selv, anbefales faget Webprogrammering
med PHP. Litt av poenget med dette "nettstedet" er at du som
bruker skal kunne velge om du vil ha samme meny som forrige gang uten å
måtte gå gjennom alle stegene, men dette fungerer altså bare
dersom du tidligere har valgt en meny, noe som skyldes at det da vil kunne være
en cookie som er lagret på din maskin. Hva tror du skjer dersom du besøker
denne siden fra to ulike maskiner? Vil du da få fram menyen eller ikke?
Hvorfor?
5. Lenker og enda mer stoff om tilstandsbevaring
Mer informasjon om tilstandsbevaring:
- Faget "Webprogrammering med PHP" ved HiST - Lær deg å programmere web-løsninger som skreddersyr informasjon for den enkelte. Informasjonen kan lagres på tvers av mange sider i et nettsted (sessions), huskes over tid (cookies) eller lagres i en database (innlogging med brukernavn og passord). De 2 første av 12 leksjoner er fritt tilgjengelige
- Kan cookies stjeles - Svaret er ja. Med XSS (cross site scripting) er det mulig å poste innlegg i en gjestebok, for eksempel, og så stjele cookies fra andre som besøker samme gjestebok, over tid.
- Cookies - Fra Wikipedia, mye interessant å lese her. Sikkerhet og personvern får søkelys.