Tutorials >
PHP >
Variabelen en veiligheid
|
Gepost op: 07 februari 2005 - 17:45 |
|
|
|
PHP ver gevorderde
|
een goede gewoonte; just for security; is om variabelen gelijk $goed_ingelogd te initialiseren.
Dit betekend dat je bovenaan je script zet $goed_ingelogd = 0;
En pas als je dus die naam en paswoord juist hebt komt het op 1 te staan.
Een andere goede gewoonte; just for security; is van je else structuren goed in te vullen.
Een hack-poging had gestopt kunnen worden indien het zo was:
<?PHP //member.php
if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim")
{ //ok, je bent blijkbaar goed ingelogd :)
$goed_ingelogd=1;
} else {
$goed_ingelogd=0;
}
if($goed_ingelogd==1)
{ echo "super geheime en gevoelige data :)";
// meer geheime data
}
?>
<?PHP //member.php if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim") { //ok, je bent blijkbaar goed ingelogd :) $goed_ingelogd=1; } else { $goed_ingelogd=0; } if($goed_ingelogd==1) { echo "super geheime en gevoelige data :)"; // meer geheime data } ?>
En dan nog een derde goede gewoonte is om variabelen op hun type te controleren.
Als je een waar of niet waar waarde wilt gebruiken (boolean) gebruik je true or false; zo:
<?PHP //member.php
if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim")
{ //ok, je bent blijkbaar goed ingelogd :)
$goed_ingelogd = true;
}
if($goed_ingelogd === true)
{ echo "super geheime en gevoelige data :)";
// meer geheime data
}
?>
<?PHP //member.php if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim") { //ok, je bent blijkbaar goed ingelogd :) $goed_ingelogd = true; } if($goed_ingelogd === true) { echo "super geheime en gevoelige data :)"; // meer geheime data } ?>
Dit is niet 100% waterproof, maar je hebt toch een iets grotere veiligheid als je dit doet. (de url kan enkel strings doorgeven)
Je kunt ook deze drie technieken samenbrengen om zo tot een minimum aan security te leiden |
|
|
|
Gepost op: 07 mei 2006 - 03:07 |
|
|
|
PHP gevorderde
|
Een site met register global aan kan even veilig zijn.
ook kan een site register global uit even kwetsbaar zijn.
Zoals twopeak als vermeld heeft -> check altijd het formaat en de oorsprong van je variable en initialiseer deze voor gebruik. |
|
|
|
Gepost op: 05 januari 2007 - 21:15 |
|
|
|
PHP interesse
|
ja twopeak maar doen dan ipv dit:
<?PHP //member.php
if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim")
{ //ok, je bent blijkbaar goed ingelogd :)
$goed_ingelogd = true;
}
if($goed_ingelogd === true)
{ echo "super geheime en gevoelige data :)";
// meer geheime data
}
?>
<?PHP //member.php if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim") { //ok, je bent blijkbaar goed ingelogd :) $goed_ingelogd = true; } if($goed_ingelogd === true) { echo "super geheime en gevoelige data :)"; // meer geheime data } ?>
fffff dit
<?PHP //member.php
if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim")
{ //ok, je bent blijkbaar goed ingelogd :)
$goed_ingelogd = true;
}
else {
echo'foutje';
}
// anders doet ie niks als je het fout invult!
if($goed_ingelogd === true)
{ echo "super geheime en gevoelige data :)";
// meer geheime data
}
else {
// deze else is puur voor de overzichtelijkheid!
// hier hoeft niks want als de gegevens niet jan super-geheim zijn doet set hij
// $goed ingelogd niet op true :\
}
?>
<?PHP //member.php if($gebruikersnaam=="jan" && $wachtwoord=="super-geheim") { //ok, je bent blijkbaar goed ingelogd :) $goed_ingelogd = true; } else { } // anders doet ie niks als je het fout invult! if($goed_ingelogd === true) { echo "super geheime en gevoelige data :)"; // meer geheime data } else { // deze else is puur voor de overzichtelijkheid! // hier hoeft niks want als de gegevens niet jan super-geheim zijn doet set hij // $goed ingelogd niet op true :\ } ?>
|
|
|
Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties. |
|
|
|