Is mijn code veilig?
Dennis WhoCares
11/02/2016 20:34:23Allard Keij op 11/02/2016 20:25:47:
Ondanks dat heb ik helaas geen andere mogelijkheid dan mijn waarden door te geven via de link :(.
Je zou toch zeggen dat je ergens kan checken hoeveel variables er binnen komen?
Zoals in dit script hierboven mogen er maar 7 binnen komen. Mocht dit te checken zijn zou het opgelost zijn.
Mits er natuurlijk geen andere security issues ontstaan aangezien het feit blijft dat mensen kunnen typen wat ze willen als &comment=DIT HEB IK NIET IN BEHEER.
Je zou toch zeggen dat je ergens kan checken hoeveel variables er binnen komen?
Zoals in dit script hierboven mogen er maar 7 binnen komen. Mocht dit te checken zijn zou het opgelost zijn.
Mits er natuurlijk geen andere security issues ontstaan aangezien het feit blijft dat mensen kunnen typen wat ze willen als &comment=DIT HEB IK NIET IN BEHEER.
Je kan heel makkelijk kijken of er 7 waardes binnen komen.
Maar dat kan dus alsnog vanalles zijn.
Code (php)
1
2
3
4
2
3
4
$getFields = array('factid','feedid','userid','avatarid','username','feedcat','comment');
foreach($getFields as $field)
if(!isset($_GET[$field]))
die('error');
foreach($getFields as $field)
if(!isset($_GET[$field]))
die('error');
Dit kijkt wel of al jouw gewenste 'gets' bestaan, maar doet ook niks :)
Zolang je &comment123123 niet gebruikt om in je database op te slaan, is daar niks mis mee hoor, zolang je de waardes SQL veilig maakt.
het heeft geen toegevoegde waarde, het gaat erom wat mensen in de door jouw opgegeven GET variables kan stoppen en wat jij ermee doet. Het preparen van de waardes doet al heel veel.
Probeer om restricties te maken ook, als je een getal verwacht, controlleer of het een getal is met if(ctype_digit($variable)) enz.
Gewijzigd op 11/02/2016 20:40:23 door Dennis WhoCares