Voordat je iets op phphulp post :
Voordat je iets op phphulp post :
- Ik krijg een fout: Lees deze goed door ! ken je de fout niet zoek hem op.
Meer hierover volgt in de volgende pagina
- Variabelen buiten de quotes houden.
Voorbeeld:
Code (php)
- Gebruik comentaar dan weet je wat je fout doet.
Comentaar kan je toevoegen door:
in html : <!-- en af te sluiten met -->
in php : // hier je comentaar
# hier je komentaar #
- Pas op voor mysql injection.
Voorbeeld:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//goed
$query= "SELECT u_name, u_pass FROM SFI_users WHERE u_name='".mysql_real_escape_string($_POST['naam'])."'";
//fout
$query= "SELECT colom1, colom2 FROM table1 WHERE colom1='".$_POST['naam']."'";
?>
//goed
$query= "SELECT u_name, u_pass FROM SFI_users WHERE u_name='".mysql_real_escape_string($_POST['naam'])."'";
//fout
$query= "SELECT colom1, colom2 FROM table1 WHERE colom1='".$_POST['naam']."'";
?>
- Gebruik geen * dit is een wildcard selecteer wat je wilt.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
//goed
$query= "SELECT colom1, colom2 FROM table1 WHERE colom1='".mysql_real_escape_string($_POST['naam'])."'";
//fout
$query= "SELECT * FROM table1 WHERE colom1='".mysql_real_escape_string($_POST['naam'])."'";
?>
//goed
$query= "SELECT colom1, colom2 FROM table1 WHERE colom1='".mysql_real_escape_string($_POST['naam'])."'";
//fout
$query= "SELECT * FROM table1 WHERE colom1='".mysql_real_escape_string($_POST['naam'])."'";
?>
- Zet error reporting aan.
dit doe je met:
- Binnen je INSERT,UPDATE,DELETE etc geen quotes.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
//goed
$query= "SELECT colom1, colom2 FROM table1 WHERE colom1='".mysql_real_escape_string($_POST['naam'])."'";
//fout
$query= "SELECT 'colom1', 'colom2' FROM 'table1' WHERE 'colom1='".mysql_real_escape_string($_POST['naam'])."''";
?>
//goed
$query= "SELECT colom1, colom2 FROM table1 WHERE colom1='".mysql_real_escape_string($_POST['naam'])."'";
//fout
$query= "SELECT 'colom1', 'colom2' FROM 'table1' WHERE 'colom1='".mysql_real_escape_string($_POST['naam'])."''";
?>
- Niet onnodig variabelen aanmaken.
- Gebruik een salt + pepper voor het coderen van een wachtwoord
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$pass = '12345';
$salt = 'Een Hele LaNgE Reeks WiLlEkEUriGe Van LeTTeRs En 12348';
$pepper = 'Een Andere LaNgE Reeks Van LeTTeRs En 12348';
$gecodeerd = sha1($salt . $pass . $pepper);
?>
$pass = '12345';
$salt = 'Een Hele LaNgE Reeks WiLlEkEUriGe Van LeTTeRs En 12348';
$pepper = 'Een Andere LaNgE Reeks Van LeTTeRs En 12348';
$gecodeerd = sha1($salt . $pass . $pepper);
?>
- controleren of er gepost is doe je met if( $_SERVER['REQUEST_METHOD'] == 'POST' ) Niet met if(isset($_POST['submit']))
- gebruik vernieuwde functies dus niet bijv eregi maar preg
Zie hier de tutorial over preg_match :php.net preg_match
- gebruik <?php in plaats van <? - Waarom? sommige servers ondersteunen geen shorttags leer het daarom meteen goed aan
- veel mensen gebruiken in hun htmlform action=<?php echo $_SERVER['PHP_SELF']; ?> Dit is niet verantwoord wegens XSS Meer hierover zie deze url
« vorige pagina | volgende pagina »