Här följer respons till caset som gäller modul Fullstack PHP / MySQL. Responsen finns också i form av GitHub Issues - se ditt repo och under fliken "Issues". Under Kompletteringar framgår eventuella kompletteringar som du måste göra för att få godkänt på caset i den här modulen. Kommentarer i övrigt handlar om din kod som kan vara bra för dig att känna till - men inget som du måste ändra.
Du behöver komplettera för att bli godkänd - se under rubriken nedan
Installation: Vad behövs för att man själv ska kunna köra appen?
Screenshots: minst en screenshot (eller gif) som visar appen under användning
En användare ska kunna registrera ett konto [X]
En användare ska kunna logga in och logga ut [X]
Inloggad användare ska kunna lägga till verksamheter [ ]
Verksamheter ska kunna redigeras och raderas av den användare som skapat resursen ?
Alla verksamheter ska finnas listade för den som besöker applikationen ?
Alla formulärsfält som registeras till databasen ska valideras (att rätt och rimlig typ att data lagras) [X]
Kommentarer
README.md och installation
I README.md finns inget angivet. Det ska finnas åt minstånde en beskrivning hur man startar upp applikationen och även en screenshot av applikationen i under användning.
Validering av formulär
Formulär valideras - bra!
Du använder parametriserade quieries. Då finns det inte en risk för SQL Injections. Det vill säga att någon skickar in SQL queries via HTML-formulär:
Just nu kan en elak användare skriva i ditt $name fält: "Great post! Check this out: "
skulle du skriva ut $name till en av dina sidor så kommer användaren få se "You have been hacked!". Detta kallas Cross Site Scripting Attack (XSS-Attack).
Med htmlspecialchars($_POST["name"]) så kommer det sparas som "Great post! Check this out: <script>alert('You have been hacked!');</script>" vilket inte tolkas som ett script.
Kod, funktioner, namngivning, logik etc
Du använder funktioner
Namngivning av filer och variabler ser bra ut överlag
Viss logik kan förbättras, dels logiska delar för att få en bra användarupplevelse. Exempelvis en navigationsbar
Du kan också förenkla lite av din CSS genom att ha en css fil som heter shared.css som tar all styling som är gemensam för alla sidor som typ bakgrundsfärgen på body.
Kompletteringar
Ja,
En Readme.md med instruktioner samt screenshot.
Jag kan inte ladda upp en Buisness eftersom jag får problem med uppladdning av images. Demonstrera att det fungerar för dig med en färsk installation av appen ELLER fixa bilduppladdningsbuggen. (TIPS: Det handlar om rättigheter att ändra i mappen img och möjligen hur du skriver din path till bilden)
Felmeddelandet lyder:
Warning: move_uploaded_file(img/Screenshot from 2024-05-28 09-42-47.png): Failed to open stream: Permission denied in /var/www/html/create_business.php on line 42
Warning: move_uploaded_file(): Unable to move "/tmp/phpSHhqYx" to "img/Screenshot from 2024-05-28 09-42-47.png" in /var/www/html/create_business.php on line 42
There was an error uploading the file.
Om kompletteringar
Vid komplettering av uppgift så strävar vi efter att ge feedback innan terminens slut. Meddela i Teams att du kompletterat uppgiften.
Om du kompletterar efter terminens sista dag (5 juni) kan eventuellt feedback dröja till nästa termin startat upp.
Bra jobbat! Jag ser mycket som är rätt här. Se bara till att lägga lite mer tid att polera det sista nästa gång. Glöm inte kompletteringarna.
Respons case 6 - Fullstack PHP / MySQL
Här följer respons till caset som gäller modul Fullstack PHP / MySQL. Responsen finns också i form av GitHub Issues - se ditt repo och under fliken "Issues". Under Kompletteringar framgår eventuella kompletteringar som du måste göra för att få godkänt på caset i den här modulen. Kommentarer i övrigt handlar om din kod som kan vara bra för dig att känna till - men inget som du måste ändra.
Du behöver komplettera för att bli godkänd - se under rubriken nedan
Responsen utgår från de grundläggande krav som finns angivna i caset: https://github.com/Glimakra-Webbutvecklare-2023/Case-PHP-MySQL
Kommentarer
README.md och installation
I README.md finns inget angivet. Det ska finnas åt minstånde en beskrivning hur man startar upp applikationen och även en screenshot av applikationen i under användning.
Validering av formulär
Formulär valideras - bra!
Du använder parametriserade quieries. Då finns det inte en risk för SQL Injections. Det vill säga att någon skickar in SQL queries via HTML-formulär:
Det är också bra att du tittar efter bilden filtyp!
Det finns exempelt på fält som inte valideras korrekt när formulär skickas för att spara data.
$name, $address, $open_hours
Ett exempel på hur det kan se ut är:
Just nu kan en elak användare skriva i ditt $name fält: "Great post! Check this out: "
skulle du skriva ut $name till en av dina sidor så kommer användaren få se "You have been hacked!". Detta kallas Cross Site Scripting Attack (XSS-Attack).
Med
htmlspecialchars($_POST["name"])
så kommer det sparas som "Great post! Check this out: <script>alert('You have been hacked!');</script>" vilket inte tolkas som ett script.Kod, funktioner, namngivning, logik etc
Du använder funktioner Namngivning av filer och variabler ser bra ut överlag Viss logik kan förbättras, dels logiska delar för att få en bra användarupplevelse. Exempelvis en navigationsbar
Du kan också förenkla lite av din CSS genom att ha en css fil som heter shared.css som tar all styling som är gemensam för alla sidor som typ bakgrundsfärgen på body.
Kompletteringar
Ja,
En Readme.md med instruktioner samt screenshot.
Jag kan inte ladda upp en Buisness eftersom jag får problem med uppladdning av images. Demonstrera att det fungerar för dig med en färsk installation av appen ELLER fixa bilduppladdningsbuggen. (TIPS: Det handlar om rättigheter att ändra i mappen img och möjligen hur du skriver din path till bilden)
Felmeddelandet lyder:
Om kompletteringar
Vid komplettering av uppgift så strävar vi efter att ge feedback innan terminens slut. Meddela i Teams att du kompletterat uppgiften. Om du kompletterar efter terminens sista dag (5 juni) kan eventuellt feedback dröja till nästa termin startat upp.
Bra jobbat! Jag ser mycket som är rätt här. Se bara till att lägga lite mer tid att polera det sista nästa gång. Glöm inte kompletteringarna.