querys beveiligen ?
Hallo,
Ik zou willen weten hoe je querys moet beveiligen, die info bevatten die door gebruikers zijn gesubmit.
Iemand heeft mij deze functie gegeven:
Maar ik hoorde dat je ook elke keer htmlentities moet doen.
Kan iemand mij zeggen hoe ik een zelfde functie daarvoor maak?
En moet er nog iets gedaan worden, of blijft het bij die 2?
Bj voorbaat dank!
Ik zou willen weten hoe je querys moet beveiligen, die info bevatten die door gebruikers zijn gesubmit.
Iemand heeft mij deze functie gegeven:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
function escape_get_post(){
foreach ($_POST as $key => $item)
$_POST[$key] = mysql_real_escape_string($item);
foreach ($_GET as $key => $item)
$_GET[$key] = mysql_real_escape_string($item); return;
}
?>
function escape_get_post(){
foreach ($_POST as $key => $item)
$_POST[$key] = mysql_real_escape_string($item);
foreach ($_GET as $key => $item)
$_GET[$key] = mysql_real_escape_string($item); return;
}
?>
Maar ik hoorde dat je ook elke keer htmlentities moet doen.
Kan iemand mij zeggen hoe ik een zelfde functie daarvoor maak?
En moet er nog iets gedaan worden, of blijft het bij die 2?
Bj voorbaat dank!
Gewijzigd op 01/01/1970 01:00:00 door Altin
Het ligt een beetje aan de query's die je uitvoerd maar mysql_real_escape_string() of addslashes() zijn toch wel de belangrijkste om SQL injection tegen te gaan.
alleen mysql_real_escape_string voor strings is genoeg. als je een bijvoorbeeld een getal invoert hoef je die alleen te checken met is_numeric
Dat zou je hetzelfde kunnen doen:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function htmlentities_get_post(){
foreach ($_POST as $key => $item)
$_POST[$key] = htmlentities($item);
foreach ($_GET as $key => $item)
$_GET[$key] = htmlentities($item); return;
}
?>
function htmlentities_get_post(){
foreach ($_POST as $key => $item)
$_POST[$key] = htmlentities($item);
foreach ($_GET as $key => $item)
$_GET[$key] = htmlentities($item); return;
}
?>
htmlentities() voer je uit bij het uit de database halen, mysql_real_escape_string bij het invoeren.
Eigenlijk maakt het niet uit wanneer je het uitvoerd, het is gewoon de rare tekens vervangen door hun valid html equivalent...