[RegEx] String auf Zeichen pruefen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [RegEx] String auf Zeichen pruefen

    Nabend,

    ich bin gerade dabei eine Klasse zu schreiben das Benutzereingaben auf den richtigen Datentyp überprüft und prüft ob irgendwelche Sonderzeichen im String vorhanden sind um mich besser vor SQL Injectionen zu schuetzen.

    Ich kenne mich mit RegEx noch nicht besonders gut aus, aber immerhin kann ich schonmal prüfen ob Buchstaben oder Zahlen im String vorhanden sind.
    Nur wie kann ich prüfen ob ausser Zahlen und Buchstaben andere Zeichen im String sind, ich will naemlich nur Buchstaben und Zahlen zulassen.

    Meine jetzige Klasse um die eingaben zu pruefen sieht bis jetzt so aus:

    PHP-Code:
    class SQLSecurity
        
    {
            function 
    CheckDatatype($variable$type)
            {
                if (
    gettype($variable) == $type)
                {                                
                    return 
    true;            
                }            
                elseif (
    gettype($variable) == $type)
                {                            
                    return 
    true;            
                }            
                else
                {
                    return 
    false;
                }
            }
            
            function 
    CheckSqlString($variable$type)
            {
                if (
    $this->CheckDatatype($variable$type))
                {
                    
    $mask "/[0-9a-zA-Z]/";
                    if(
    preg_match($mask$variable))
                    {
                        return 
    $variable;
                    }
                }
            }
        } 
    Leider wird die Variable auch zurueckgegeben wenn ein , oder ' im String vorhanden ist.

    Bitte um kurze Hilfe

  • #2
    Re: [RegEx] String auf Zeichen pruefen

    Original geschrieben von phpdeveloper
    um mich besser vor SQL Injectionen zu schuetzen.
    Dazu brauchst du kein eigenes, unperformantes RegEx-Gebastel, sonder einzig und allein die Maskierungs-Funktion, die dir über die API deines DBMS zur Verfügung gestellt wird.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hoert sich wieder kompliziert an
      Gibts gute Seiten die das erklaeren ?

      EDIT: Habe jetzt die Funktion mysql_escape_string() gefunden, gibt es da noch andere die zu empfehlen sind ?
      Zuletzt geändert von phpdeveloper; 10.06.2007, 21:32.

      Kommentar


      • #4
        Original geschrieben von phpdeveloper
        Hoert sich wieder sehr kompliziert an
        Bist du sicher, dass du den richtigen Nick hast?

        http://www.php.net/manual/en/functio...ape-string.php
        http://www.php.net/manual/de/securit...-injection.php
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Gut, wenn das dafuer schon reicht danke.
          Bin seit ca. einem Monat dabei mich mit PHP zu beschaeftigen, haette mich natuerlich auch phpdevelopersinceonemonth nennen koennen

          Kommentar


          • #6
            EDIT: Hat sich erledigt
            Zuletzt geändert von phpdeveloper; 10.06.2007, 23:36.

            Kommentar

            Lädt...
            X