Browser Developer tools en beveiliging
Ik heb geen idee of dit topic in de juiste categorie staat of bij koffiehoek moet.
Maar ik heb eens zitten denken over hoe de beveiliging in webapps met jQuery en javascript gaat.
Stel je hebt een webapp met dat je berichten naar elkaar kan sturen en dat je een account kan maken en die dingen.
En dat je een bericht kan verwijderen op basis van id. Maar hoe koppel je dat op de veiligste manier aan die link van 'Verwijderen'. Want als je onclick="deleteMessage(59)" ofzoiets gaat gebruiken, hoef je enkel het ID te veranderen bij Developer Tools en je kan elk bericht uit de database verwijderen in principe, toch??
Ik hoop dat jullie mijn vraag snappen, want zelf kom ik niet echt op een logisch, veilig en makkelijk antwoord.
Je spreekt toch een server side script aan? Hier kun je ook rechten checken via sessies. Dit is niet anders dan wanneer je een gewoon script oproept. Dezelfde principes zijn nog steeds van toepassing.
Nee, dat id-nummer is alleen een identificatie. Je moet in die functie via een AJAX-request controleren of iemand wel gerechtigd is om dat bericht te wijzigen.
Aar: Ik denk dat dit antwoord op mijn vraag is :)
Evengoed allebei bedankt voor het meedenken
Wat Thomas en ik zeggen komt allebei op hetzelfde neer. Je moet serverside gewoon de rechten controleren.
Maarten Buis op 13/05/2015 22:06:12:
Thomas: Ik weet niet zeker of dit ermee te maken heb
Die deleteMessage(59) gaat toch naar iets dat een AJAX-call uitvoert, en daarin wordt bijvoorbeeld op de achtergrond het script message.php?action=delete&id=59 aangeroepen.
In het script message.php zou gecontroleerd moeten worden of je de actie "delete" mag uitvoeren op bericht met id "59". Als je dit niet (op deze manier) controleert (oftewel - de "beslissing" moet in dit script plaatsvinden) dan zijn dat soort delete-acties inderdaad niet veilig.
Zoveel probeerden Aar en ik allebei te zeggen denk ik.
Dankjullie wel, ik was heel even de draad kwijt toen ik hierover na aan het denken was.