Hallo allemaal, ik probeer een adres boek te maken met PHP. Waarin elke gebruiker van de website zijn eigen contacten kan opslaan. Het probleem is alleen dat ik geen idee heb hoe ik dit moet doen. Ik heb een aantal tutorials op youtube geprobeerd na te maken maar zonder succes (video's zijn van 6 jaar terug & gebruiken dus geen mysqli) Kan iemand me hierbij helpen of in de goede richting wijzen
Ik ben bezig aan een opdracht voor school, dit is om te laten zien dat wij ook gebruik kunnen maken van bin2hex. Staat er in een comment ook bij (niet in de code hier boven maar wel in een andere code).
Dit is niet helemaal waar. Dit garandeert min of meer dat wat de database ingaat "veilig" is (enkel bestaat uit hexadecimale waarden (in stringvorm)).
Dit is echter de verkeerde manier, want dit is "escape on input". Wanneer je de gegevens weer ophaalt (of wijzigt) zul je deze weer uit moeten pakken (dit gebeurt ook, met UNHEX).
Indien dit de methode is die je op school wordt aangeleerd om veilig om te gaan met user data dan zou ik hier vraagtekens bij plaatsen.
Het devies is wat mij betreft: filter input, escape output.
Dit houdt het volgende in:
- voordat je data opslaat in je database, controleer je of de invoer voldoet aan een specifieke vorm, mits relevant (input filtering)
- wanneer je data opslaat in je database, neem je deze data op in je SQL statement omringd door enkele quotes; de data zelf haal je door een real_escape_string() functie; het een zonder het ander is NIET veilig (output escaping, in dit geval in de SQL context)
- wanneer je data ophaalt en wilt weergeven voorzie je deze data van htmlspecialchars() (zoals je nu ook al doet, alleen op de verkeerder plaats, en zonder twee belangrijke parameters: flags (2e) en encoding (3e)) (output escaping, in dit geval in de HTML context)
Indien je wordt verteld om bin2hex() te gebruiken dan moet je dit wel doen wanneer dit hout snijdt. Dit snijdt geen hout bij het opslaan van data tenzij je dingen wilt uitzoeken ten aanzien van je character encoderingen, maar daarvoor zou je je connect.php moeten laten zien en ons meer vertellen over hoe je databasetabellen zijn gedefinieerd...
[quote="- SanThe - op 15/03/2016 12:23:39"]Het gebruik van bin2hex() is hier zinloos.
Dit is niet helemaal waar. Dit garandeert min of meer dat wat de database ingaat "veilig" is (enkel bestaat uit hexadecimale waarden (in stringvorm)).
[/quote]
Maar het gaat de database niet in want het wordt in de query weer ongedaan gemaakt.
Het is als een brandweerman die zijn veilige kleding aantrekt en voordat ie het brandende pand in gaat, het weer uittrekt.
Okee ik snap het. Ik heb nu nog een vraagje over me adressboek. Ik heb een PHP code gemaakt in het bestand add_contact.php. Hiervan is de code als volgt:
Maar iedere keer als ik een gebruiker probeer toe te voegen dan voegt het alle gegevens toe behalve het bedrijf en adres 1. Heel appart, iemand die toevallig weet waarom dit gebeurd?
[size=xsmall]Toevoeging op 15/03/2016 15:18:23:[/size]
Krijg deze 3 error's
Notice: Undefined variable: POST in E:\USBweb\root\po\add_contact.php on line 18
Notice: Undefined index: straat1 in E:\USBweb\root\po\add_contact.php on line 21
Notice: Undefined index: straat2 in E:\USBweb\root\po\add_contact.php on line 22
[size=xsmall]Toevoeging op 15/03/2016 15:27:51:[/size]
De error op lijn 18 heb ik inmiddels opgelost alleen die andere 2 nog niet