Hjælp til SQL injection
Hej Eksperter.Jeg genåbner lige et tidligere spørgsmål da den anden tog lidt "overhånd" :-) - http://www.eksperten.dk/spm/931674
- Men mit spørgsmål er som følgende:
Jeg har en side som har været uheldig at blive hacket/leget med, og dette skal jeg have ændret på. Derfor skal jeg have stoppet for SQL injection. - jeg har prøvet at læse på det, men sidder stadig fast.
Jeg har derfor fundet denne function:
function mysql_escape_mimic($str) {
$search=array("\\","\0","\n","\r","\x1a","'",'"');
$replace=array("\\\\","\\0","\\n","\\r","\Z","\'",'\"');
return str_replace($search,$replace,$str);
}
Hvordan bruges den?
sådan?:
<?
function mysql_escape_mimic($sql2) {
$search=array("\\","\0","\n","\r","\x1a","'",'"');
$replace=array("\\\\","\\0","\\n","\\r","\Z","\'",'\"');
return str_replace($search,$replace,$str);
}
require "db.php";
$id = $_GET['id'];
$sql2 = mysql_query ("SELECT * FROM nyhed WHERE id = $id");
while($row = mysql_fetch_array($sql2))
{
$oversk = nl2br($row['oversk']);
$tekst = $row['tekst'];
$dato = $row['dato'];
?>
______________________
og derudover har jeg fundet denne string:
$id= mysql_real_escape_string($_GET[id]);
$navn= mysql_real_escape_string($_POST[navn]);
den bruger jeg på alle sider hvor jeg har GET og POST?? - når nu at $id indenholder tal, er det så stadig real_escape_sting jeg skal bruge? eller en anden?
Håber i kan hjælpe så jeg kan komme ud over mine problemer, samt lære noget nyt.
- Jeg vil gerne bede om i bruger eksempler, da jeg forstår mere ved dette.