Uppgiftsbanken

Uppgifter, övningar och laborationer i HTML, CSS, JavaScript, PHP, SQL för att du skall få öva dig i webbprogrammering och webbutveckling.

Vad är privat egentligen?

Du skall fundera och diskutera kring vilken information som klassas som privat samt argumentera varför just den informationen borde vara privat. Som utmaning, ställ er gärna i företagens skor och fundera på varför de “behöver” den informationen de frågar efter.

Du skall intervjua 2 personer, gärna med olika bakgrund och redovisa frågor och svar. Dessa intervjuer ska sen sammanställas i en reflektionen som ska göras individuellt.

#Nice-to-have länkar

#Scenario

Företaget du jobbar på ska göra en webbplats med känslig information åt företaget Dbwebb AB. Du är en duktig webbprogrammerare redan men vad vet du om privat information och hur hanterar du den. För att vidga dina vyer och lära dig mer om privat information så intervjuar du 2 personer. Det är ditt jobb att intervjua 2 personer och ta reda på vad de tycker och kan om privat information. Du ska samanställa åsikterna från de du intervjuar med dina åsikter i ett dokument, en Reflektion.

#Intervju

Du förbereder intervjuerna och du behöver minst ha med dessa frågor:

  • Vilken typ av information är privat?
    • Har du samma uppfattning som den du intervjuar?
  • Vad för information kan du hitta om varandra/dig/närstående på internet?
    • Är informationen frivilligt given eller inte?
    • Går det att hitta eventuellt läckta lösenord kopplade till deras mail? (Gör gärna Have I been pwned?)
  • Litar du på att företag håller din data “säker”? Finns det företag du litar mer/mindre på?
  • Den 1 oktober 2019 trädde den nya reviderade datalagringslagen i kraft (Sweclockers). Är detta rätt eller fel sätt att bekämpa brottslighet? Eller är det inte så enkelt som rätt eller fel?

Diskutera gärna lite med den du intervjuar. Innan du gör intervjuerna så tänker du igenom dina svar på frågorna för att ha något att jämföra med sen i Reflektionen. Intervjufrågor och svar lägger du i sin helhet i ett Appendix till Reflektionen. Appendixet bör bli ca 2-3 sidor långt.

Inled Appendixet med en kort beskrivning av personerna du intervjuar och diskuterar med, till exempel ålder, kön, yrke, relation till datorer och it-säkerhet eller liknande för att ge läsaren en uppfattning om vad det är för person. Därefter skriver du första frågan och under den redovisar du vad person 1 svarar, vad person 2 och så vidare. Appendixet ska alltså återspegla intervjun. Du ska redovisa vad de du intervjuar svarar. Svarar personerna “för kort” få du be dem utveckla eller förklara mer.

#Reflektion (självständig)

Skriv en reflektion där du tänker igenom över vad de du intervjuat tycker och vad du själv tycker/tänker. Kanske har du fått en annan syn på vilken information som ligger ute efter intervjuerna eller så hade du stenkoll på din data. Reflektionen ska användas som underlag till ett uppdrag som Dbwebb AB fått. Innehållet i Reflektionen hjälper Dbwebb AB att se om du och ditt företag är rätt för jobbet. Lycka till!

Följ kraven i reflektionen.

  • Reflektionen ska ha ett försättsblad med titel (Vad är privat egentligen?), datum och namn/studentakronym.
  • Reflektionen ska vara ca 1-2 sidor (exklusive försättsbladet, storlek 11 för brödtexten, 1 sida är ca 600 ord).
  • Texten kan skrivas på svenska eller engelska.
  • Använd stycken för att dela upp texten och försök att skriva det som en sammanhängande text.
  • Om diskussionen har fått er att fundera kring hur du hanterar er data (både privat och som utvecklare), lyft gärna detta.
  • I slutet av reflektionen skriver du ett stycke med namnen på dina gruppmedlemmar.

Det finns en LaTeX mall tillgänglig här som du kan använda. Länken är till en read-only version, för att skapa er egna så trycker du “Menu” och sen “Copy Project”. Det går givetvis att använda valfritt program, så länge man uppfyller kraven ovan.

Inlämning

Spara din reflektion i pdf format och lämna in på Canvas.

Bedömning

Se det som att administratören på Dbwebb AB plockar bort de reflektioner som inte följer kraven med försättsblad, antal sidor osv. Sen är det tekniska ledningsgruppen på Dbwebb AB som bedömer innehållet.

Har du fått ett G, så har ert företag fått uppdraget. Lycka till!

#Revision history

  • 2024-10-16: (F, grm) Intervju istället för diskussion HT24.
  • 2022-05-20: (E, grm) Komplettering HT22.
  • 2021-11-10: (D, grm) Komplettering HT21.
  • 2020-05-27: (C, nik) Uppdaterad med bland annat LaTeX mall
  • 2019-11-13: (B, nik) Fler frågor, tydligare struktur på reflektion.
  • 2019-08-07: (A, nik) Första utgåvan.

Document source.

Read more »

Category: kurs/itsec.

Bygg kort och kortlek i PHP och Symfony enligt MVC

Du skall skapa ett antal klasser i PHP. Dessa klasser skall du sedan använda i ett par webbsidor och visa upp att de fungerar. Tanken är att du bygger grunden till någon form av enklare kortspel med objektorienterade tekniker i ramverket Symfony.

Read more »

Category: kurs mvc.

Bygg en me-sida till mvc-kursen

Du skall sätta samman en webbplats som du kan använda som me-sida i kursen. I din me-sida gör du en presentation av kursen, dig själv och du publicerar dina redovisningsstexter.

Du lägger allt i ett Git-repo och när du är klar så publicerar du och taggar ditt repo på GitHub (eller GitLab).

Read more »

Category: php, kurs mvc.

Lager appen del 5

Vi ska i denna uppgiften använda oss av Web-API:s för att komma åt native-funktionalitet i våra fysiska mobila enheter. Vi använder en mobil enhets styrka och läggar till funktionalitet för GPS, kartor och kamera.

Read more »

Category: javascript.

Lager appen del 6

Vi avslutar vår Lager-app med en kundservice chatt.

Read more »

Category: javascript.

Yahtzee spelet del 2 - Flask

I denna uppgiften ska ni binda ihop Yahtzee spelet så att ni får ett fungerade Yahtzee för en spelare.

Read more »

Category: oopython.

Yahtzee spelet del 2 - klasser

I denna uppgiften ska ni fortsätta med Yahtzee spelet ni började på i kmom02.

Read more »

Category: oopython.

Fortsättning på Yahtzee spelet

I denna uppgiften ska ni binda ihop Yahtzee spelet så att ni får ett fungerade Yahtzee för en spelare.

Read more »

Category: oopython.

Skapa en webbserver i Docker

Du har installerat och bekantat dig med Docker enligt Docker-guiden. Nu ska vi använda Docker som en lokal webbserver på vår egna dator, ungefär så som det fungerar i molnet.

Read more »

Category: moln.

Kontinuerlig säkerhet

Ni ska använda olika verktyg för att hitta säkerhetsproblem i Microbloggen och lägga till dem i er CI kedja.

#Krav

  1. När ni löser fel som hittas med nedanstående verktyg och commitar koden som löser felen, skriv tydliga commit meddelanden som förklarar vilket fel ni löser.

    • I redovisningstexten ska ni förklara vilka fel ni hittade och löste.
  2. Använd SAST verktyget Bandit för att hitta möjliga säkerhetshål i Python koden och lös dem.

    • Lägg till det som ett beroende i requirements/test.txt.
    • Kör Bandit på koden i mappen app. Vi behöver inte köra det mot övrig kod i repot.
    • Lägg till ett Make kommando som kör bandit på er kod.
    • Lös de fel som hittas.
      • Avgör om de fel som hittas är false-positiv eller inte. Om false-positive kan ni lägga till så felet ignoreras.
  3. Använd skanner verktyget Trivy för att hitta möjliga säkerhetshål.

    • Använda target:
      • image för att söka igenom er Microblog produktions image.
        • Använd scanners, vuln,secret,config.
      • fs för att söka igenom hela repo mappen. Ni kan exkludera .venv mappen.
        • Använd scanners, vuln,secret,config.
    • Lägg till make kommando för båda target.
    • Lös felen som hittas.
  4. Använd Docker lint verktyget Dockle för att hitta möjliga säkerhetshål i er produktions image.

    • Lägg till make kommando som kör Dockle på er produktions image.
    • Lös de fel som hittas.
  5. Skapa ett nytt workflow I Github Actions som kör Bandit, Trivy och Dockler på samma sätt som beskrivet ovanför.

    • Ert nya workflow ska köras före era CD workflow och måste passera för att ni ska pusha er Docker image och driftsätta den.
    • Det finns en färdig dockle Action man kan använda men ni ska inte göra det. Den söker även er “base image” men vi vill inte det och jag har inte hittat något sätt att stänga av det. Kör istället som vanligt via docker.

#Revision history

  • 2023-11-17: (A, aar) Första versionen.

Document source.

Read more »