alexanderinfo
Gebruiker
- Lid geworden
- 24 mrt 2008
- Berichten
- 95
goedemorgen,
Hieronder staat een stukje script die niet veilig is.
Ik moet deze herschrijven om het SQLI veilig te maken.
Ik heb het geprobeerd met escapen, maar dat houdt alleen bepaalde karakters tegen.
Het script moet ook beveiligd worden tegen bv OR 1=1.
Ik heb het geprobeerd met wat tutorials, maar snap niet precies hoe een geparametriseerde query werkt.
Ik ben nieuw op dit forum en hoop dat ik hier goed zit, anders hoor ik het graag.
Ik vraag niet voor een quick fix, want daar leer ik zelf niets van.
Ik heb de code geplaatst, zodat het makkelijker is om te zien waar ik het over heb.
Alvast bedankt voor de moeite.
Hieronder staat een stukje script die niet veilig is.
Ik moet deze herschrijven om het SQLI veilig te maken.
Ik heb het geprobeerd met escapen, maar dat houdt alleen bepaalde karakters tegen.
Het script moet ook beveiligd worden tegen bv OR 1=1.
Ik heb het geprobeerd met wat tutorials, maar snap niet precies hoe een geparametriseerde query werkt.
Ik ben nieuw op dit forum en hoop dat ik hier goed zit, anders hoor ik het graag.
Ik vraag niet voor een quick fix, want daar leer ik zelf niets van.
Ik heb de code geplaatst, zodat het makkelijker is om te zien waar ik het over heb.
Alvast bedankt voor de moeite.
PHP:
mysql_connect("localhost", "cms", "cms");
mysql_select_db("cms_nl");
if (!isset($_GET['cmd'])) {
header("Location: ?cmd=show&id=1");
exit;
}
switch($_GET['cmd']) {
case "show":
if (isset($_GET['id'])) {
print getPage(mysql_real_escape_string($_GET['id']));
}
break;
case "search":
if (isset($_GET['query'])) {
print search(mysql_real_escape_string($_GET['query']));
}
break;
}
function getPage($id) {
$result = mysql_query("SELECT title, body FROM pages WHERE id = $id");
$res = mysql_fetch_assoc($result);
print "<h1>" . $res['title'] . "</h1>" . $res['body'];
}
function search($query) {
$result = mysql_query("SELECT title FROM pages WHERE title like '%$query%' OR body like '%$query%'");
print "<ul>";
while($res = mysql_fetch_assoc($result)) {
print "<li>" . $res['title'] . "</li>";
}
print "</ul>";
}