Kontrolle von übergebenen Variablen

Alles, was PHP betrifft, kann hier besprochen werden.

Kontrolle von übergebenen Variablen

Postby deiszner » 22. June 2007 15:56

Hallo,

ich bekomme in Skripten manchmal die Übergabe von Variablen als Zahlen

?id=25

oder Buchstaben

?id=startseite

Um SQL Injections u.ä. vorzubeugen, würde ich gern die Variablen filtern, das nur Buchstaben bzw. nur Zahlen übrigbleiben.

gruß

Sebastian
Alles schöne am Leben hat einen Haken. Es ist unmoralisch, illegal oder es macht dick.
deiszner
 
Posts: 128
Joined: 30. December 2002 12:18
Location: Leipzig

Postby KingCrunch » 22. June 2007 16:15

Hinder dich niemand dran ^^
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby deiszner » 22. June 2007 16:37

Meine Frage war - wie ?
Alles schöne am Leben hat einen Haken. Es ist unmoralisch, illegal oder es macht dick.
deiszner
 
Posts: 128
Joined: 30. December 2002 12:18
Location: Leipzig

Postby Mätes » 22. June 2007 16:51

$str = "--- *** endlich 2 TAGE\n Wochenende!!?? *** ---";
$pat = '/[^\da-z]/i';
echo "\n$str";
$str = preg_replace($pat, '', $str);
echo "\n$str";
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby KingCrunch » 22. June 2007 17:06

deiszner wrote:Meine Frage war - wie ?
Nein, war es nicht ;)

für die Prüfung von id reicht womöglich is_numeric. Würde auch eher per Whitelist prüfen, ist etwas leichter zu kontrollieren

Code: Select all
$regex = "[0-9]";

$hit = array();
preg_match ('~(' . $regex . ')~', $_GET['id'], $hit);
if (isset($hit[1])) {
  $id = $hit[1];
} else {
  // Keine Zahl
}
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests