webForumDet fria alternativet

Säkerhet, javscript och cookies?

7 svar · 282 visningar · startad av Dannelelle

DannelelleMedlem sedan juni 200055 inlägg
#1

Gomorron ;)

Håller på att utveckla en webbshop och har lite funderingar kring kundvagnssystemet.

För tillfället anropar jag en javascript-funktion (vid klick på köp-knappen) som lägger till artikelnamn, pris och antal i en cookie (typ laggTillVara(namn, pris, antal)).

Det jag funderar på är ifall en användare på något sätt kan göra "egna" funktionsanrop där man kanske anger laggTillVara("TFT-skärm", "10kr"), "1st") och på så sätt kan manipulera pris? En lösning jag funderat på är att hämta de korrekta prisuppgifterna när ordern ska sparas till databasen men då finns ju en risk att "vanliga snälla kunder" drabbas av plötsliga prisändringar (om någon artikels pris ändrats under besökets gång).

Sedan undrar jag ifall informationen i en cookie kan manipuleras av annat än webbplatsen som skapade den.

Tacksam för svar

tydalMedlem sedan juni 20034 013 inlägg
#2

Re: Säkerhet, javscript och cookies?

Dannelelle skrev:

Det jag funderar på är ifall en användare på något sätt kan göra "egna" funktionsanrop där man kanske anger laggTillVara("TFT-skärm", "10kr"), "1st") och på så sätt kan manipulera pris?

Ja, det är enklare än att ta kakor från småbarn.

tydalMedlem sedan juni 20034 013 inlägg
#3

Använd sessioner istället.

DannelelleMedlem sedan juni 200055 inlägg
#4

Hehe :) Jaså :/

Tror jag kör så att alla priser på artiklar som ligger i kundvagnen (cookien) bara används för att visa aktuellt pris för användaren för att sen när ordern ska sparas till databasen använder man prisuppgifterna som finns sparade i databasen. Javaskript är ju ändå så smidigt sätt att avbelasta servern på :) Visar innehållet i kundvagnen på alla sidor och använder inga frames så jag försöker hålla mig borta från för mycket serverscript.

Men hur anropar men en js-funktion med modifierade parametrar egentligen? Via adressfältet?

tydalMedlem sedan juni 20034 013 inlägg
#5

Ja, till exempel genom adressfältet: javascript:laggTillVara(namn, pris, antal);

Eller så ändrar man cookien själv. Internet Explorer lagrar ju dessa i \documents and settings\användare\cookies

Eller så går man bara direkt till din beställningssida med önskelistan. En cookie är ju inget annat än en rad i headern på en hemsidesbegäran.

DannelelleMedlem sedan juni 200055 inlägg
#6

Okaj, tackar... Inge vidare säkert alltså.

Satte in en kontroll mot databasen och misstämmer vikt eller pris så visas ett felmeddelande och kunden får uppdatera kundvagnen.

JojoxxMedlem sedan juni 20004 308 inlägg
#7

Några kommentarer :)

1: Varför lagra pris i cookie'n? Det räcker ju med artikelnummer (eller namn) och antal. Sedan räknar du ut priset med artikelnumret/namnet som referens till en produkt sparad i scriptet. Skulle användaren villa modifiera sin cookie så får han väl göra det, det betyder inte att priset ändras (bara produkt och antal).
2: Även om det skulle vara så att användaren sparar ner sidor, script, etc, ändrar pris och skickar en beställning till dig så betyder ju inte det att du är dum nog att skicka varorna till honom till det priset :)
3: Om användaren modifierar sin cookie så betyder inte det att det påverkar någon annan besökare på din sida. Cookien är unik för varje besökare.

DannelelleMedlem sedan juni 200055 inlägg
#8

Jag sparar priset i cookien för att kunden hela tiden ska kunna få en översikt av kostnaden samtidigt som man slipper slösa serverkraft på att hämta "korrekt" prisinfo från databasen.

Sedan när ordern ska sparas så kontrolleras om totalvikt och summa stämmer överrens med databasinfon. Om inte visas ett felmeddelande och kunden får börja om.

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)