From 6715936a3b33c14b2d8c581677855bb6c1297940 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Thu, 1 Jun 2023 16:30:41 +0200 Subject: implement promotion buff coefficient to promotion string converter --- db/data.sql | 12 ++++++++---- public/index.php | 17 +++++++++++++++-- readme.md | 16 ++++++++++++++++ 3 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 readme.md diff --git a/db/data.sql b/db/data.sql index e6ac757..d0c5d96 100644 --- a/db/data.sql +++ b/db/data.sql @@ -27,10 +27,14 @@ insert into webs.user (`name`, `hash`) values ("willem", "$2b$12$vCDpn5fnGBL7dv3Ty1cgZegDKOguoRIgHNrUFYOCWoensgI4HnJde"); -- biege update webs.user set `privileges` = 1073741824 where `name` = "loek"; -insert into webs.promotion (`product`, `price_buff`) values - (1, 0.80), -- 20% korting - (2, 0.80), - (3, 0.80); +insert into webs.promotion (`product`, `price_buff`, `count_buff`) values + (1, 0.80, 1), -- 20% korting + (2, 0.50, 2), -- 1+1 gratis + (3, 0.6666666, 3), -- 2+1 gratis + (4, 0.50, 4), -- 2+2 gratis + (5, 0.75, 4), -- 3+1 gratis + (6, 0.80, 4), -- ???? + (7, 0.50, 6); -- 50% korting per 6-pack set @order_id = webs.cart(1); -- cart id voor loek insert into webs.orderproduct (`product`, `count`, `order`) values diff --git a/public/index.php b/public/index.php index cf8e7d1..0fd0ff2 100644 --- a/public/index.php +++ b/public/index.php @@ -1,5 +1,16 @@ + 0; $i--) + if (abs((($i/$count_buff)-$price_buff)/$price_buff) < 0.001) + return $i."+".($count_buff - $i)." gratis"; + } + return ((1-$price_buff)*100)."% korting per ".$count_buff."-pack"; +} +?> @@ -13,9 +24,11 @@

hier zijn de aanbiedingen

diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..96e6f2c --- /dev/null +++ b/readme.md @@ -0,0 +1,16 @@ +# webs eindopdracht + +dingen die niet (goed) werken met onderbouwing: + +- **wachtwoorden/authenticatie** + ik sla de wachtwoorden op als bcrypt hash in de database, en stuur het + plaintext wachtwoord met elke request als cookie. dit is onveilig. een betere + oplossing zou werken met tokens maar dat kost meer moeite. +- **xss/html injectie** + gebruikersnamen worden direct uit de database gehaald en alleen voor de + gebruiker zelf op de mand-pagina weergeven. de gebruiker zou technisch gezien + een html tag in zijn naam kunnen stoppen en (voor zichzelf) de hele website + slopen. ik vind dat html injectie tegengaan de taak is van een html + templating engine. deze website gebruikt bewust PHP string + templating/concatenation als html templating 'engine' omdat het de simpelste + (onveilige) oplossing is. -- cgit v1.2.3