Dennis Munding skrev:
> Hej NG!
>
> Hvis jeg har en formular, hvor bruger skriver noget, og jeg så sender
> inputtet videre til en anden fil, som ser sådan ud:
>
> <?
> $in1 = $_POST['year'];
> $in2 = $_POST['month'];
> $in3 = $_POST['day'];
> $in4 = $_POST['time'];
> $in5 = $_POST['event'];
>
> $conn=mysql_connect("SERVER", "USER", "PASS");
> mysql_select_db("DATABASE");
> if($result=mysql_query("INSERT INTO events (EventYear, EventMonth,
> EventDay, EventTime, Event) VALUES ('$in1', '$in2', '$in3', '$in4',
> '$in5')"))
> {
> header ("Location: kal-indhold.php");
> } else {
> echo "Der er sket en fejl - aktiviteten er IKKE indsat!!";
> echo "<a href=\"indsaet.php\">Tilbage</a>";
> }
> ?>
>
> Hvordan er det så lige, at jeg sikrer mig mod injektion?
> Jeg mener, at jeg skal bruge "addslashes" og "stripslashes", men jeg må have
> gjort noget forkert her:
>
> $in1 = addslashes($_POST['year']);
> etc...
>
> For der sker ingenting - hvad gør jeg forkert?
> Har læst php.faq, men det blev jeg ikke meget klogere af.... :-/
>
> På forhånd mange tak for hjælpen - et los i den rigtige retning er meget
> kærkommen!
>
>
> Med venlig hilsen
> --
> Dennis Munding
>
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
>
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
>
http://eds-denmark.dk/
Hej Dennis
Som de andre siger, så er det kun "farlige tegn" der bliver escaped,
ikke alle, så at bruge addslashes (el. lign.) på et årstal vil
givetvis ikke lave et anderledes resultat:
addslashes('2006') = 2006
Men dermed ikke sagt at det ikke er en god idé at gøre det, nogle
kunne jo have fundet på at skrive noget andet i årstals-boksen.
Men, det er ikke altid nødvendigt at bruges addslashes, hvis serveren
er sat op til selv at gøre det. Så kan man lave en funktion, der ser
nogenlunde sådan her ud:
<?PHP
function fancy_slashes($streng) {
if (!get_magic_quotes_gpc()) {
return addslashes($streng);
} else {
return $streng;
}
}
?>
og så bruge den når du tager værdier ind:
<?PHP
$in1 = fancy_slashes($_POST['year']);
?>
Så virker scriptet også, når webhotellet pludselig finder på at
ændre deres konfiguration. Du kan se lidt om det her:
http://dk.php.net/manual/da/function.get-magic-quotes-gpc.php
Mvh
Jesper
--
http://www.tandklinikken-vesterbro.dk/ ,
http://fdf.dk/landsdel1/