Er zijn tegenwoordig veel soorten webshops te krijgen, open source, als abonnement of je kunt er gewoon 1 kopen.
Ik heb mij al enige tijd georienteerd om een eigen webshop module te bouwen. Daarom veel informatie verzameld en al een redelijk beeld gekregen hoe ik dit moet aanpakken. De reden dat ik geen open source pak is niet uit oogpunt dat het niet werkt, maar omdat ik er van wil leren. Toch zijn er factoren die erg belangrijk zijn bij webshops, zoals beveilging.
Ik ben op zoek naar enkele tutorials over het bouwen van een webshop. De opzet (tutorial van phphulp oa) heb ik al gelezen en is op dit moment niet van toepassing.
Ik wil graag een veilige webshop bouwen en daaruit kunnen leren. Helaas hoor en lees ik vaak van dat dingen goed veilig moeten zijn, maar mis een stukje informatie waarin mij wordt uitgelegd hoe ik het dan WEL veiliger zou krijgen. Aub niet met termen gooien van "daar moet je op letten" maar stukje beschrijving en evt code bij doen aub.
Webshop wil ik bouwen in PHP5 op 3 tier manier.
(geen reacties met vragen zoals "waarom neem je geen abonnement dan?" of "Waarom veel tijd besteden als het open source is te krijgen")
Wat ik verder nog wel eens zie (en dat gaat niet alleen op voor webshops) is dat gebruikers elkaars gegevens kunnen benaderen. Bijvoorbeeld de bestelgeschiedenis.
Voorbeeld: een bestelling wordt opgevraagd met bestelling.php?id=135698.
In de code staat er zoiets:<?php
$sql = "SELECT
*
FROM
bestelling
WHERE
id = ".$_GET['id'];
?>
De query slaagt en alle gegevens worden opgehaald en getoond op het scherm, maar elke simpele ziel die:
[li]een beetje logisch nadenkt[/li]
[li]beredeneert of weet dat bestelnummers vaak opgeteld worden[/li]
[li]die URL ziet[/li]
kan proberen om het id in de URL aan te passen. Bijvoorbeeld id - 1. Dus de gebruiker veranderd de URL in bestelling.php?id=135697 en verrek, de gebruiker ziet de bestelling die niet van hem is.
Oplossing is om de query uit te breiden met de controle op userId.
Maar om nog even terug te gaan naar jouw eerste bericht:
Wim schreef op 28.11.2009 17:53
Helaas hoor en lees ik vaak van dat dingen goed veilig moeten zijn, maar mis een stukje informatie waarin mij wordt uitgelegd hoe ik het dan WEL veiliger zou krijgen. Aub niet met termen gooien van "daar moet je op letten" maar stukje beschrijving en evt code bij doen aub.
Het simpelste is natuurlijk die vragen hier te stellen in plaats van dat wij gaan gissen welke problemen jij al kent, maar waarvan de oplossing ontbreekt.
Verder kan je natuurlijk nog beter bij de bron van die opmerkingen navraagt doen wat er fout is en wat er beter kan.
Hartelijk bedankt voor je reactie.
Het is inderdaad een goed idee om te zorgen dat je id's uniek zijn. Ik zou misschien zelfs kiezen dat je bestellingsnummer/unieke id geen volledige ID is maar meer een varchar.
Dus op dat moment kun je wel elke record een id mee geven maar wanneer je zoekt/gegevens bij elkaar pakt van een bestelling, dat ze zoekt op het bestellingsnummer (Bijv. NL12345KZ).
Inderdaad zoek ik natuurlijk via google wel naar SSL:)
Heeft iemand nog wel ideeën omtrent goede tutorials voor het bouwen van een webshop? (evt boeken?)
Nee.. je hoeft niet moeilijk te doen om de id te vervormen. De truck is om de query uit te breiden met de voorwaarde dat de bestelling van de gebruiker is. Zoiets als dit:<?php
$sql = "SELECT
*
FROM
bestelling
WHERE
id = ".$_GET['id']."
AND
klantId = ".$_SESSION['userId'];
?>