ereg gegen sql-injection

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

  • ereg gegen sql-injection

    ich wollte mal mit einem ereg versuchen gegen sql injection vorzugehen:
    PHP-Code:
      if(ereg("^*([=|\"|\'])"$_user_name)){
       
    // Fehlermeldung 1
       
    }elseif(eregi("^*( and | or |limit |insert |select |delete |create table|update |drop )",
     
    $_user_name)){
       
    // Fehlermeldung 2
       
    }else{
    //es hat geklappt!
        

    die Zeichen " =,",' " sowie Befehle wie "insert ,drop , and " sollen erkannt und dann eine Fehlermeldung ausgegeben werden.

    als z.B. bei "hr= eu" --> Fehler!, bei "he'er =" --> Fehler!, bei "halinsert erto" --> Fehler!, usw.

    bei http://regexlib.com/RETester.aspx hab ich das auch getestet und da funktioniert es,
    aber auf meiner HP nicht woran liegt das?
    Zuletzt geändert von jmc; 01.06.2006, 21:08.

  • #2
    1. preg_ funktionen sind dafür vermutlich besser geeignet.
    2. wozu?

    Kommentar


    • #3
      um mehr darüber zu lernen und weil ich in diesem Fall nicht mit CreateObject, CreateParameter & CO arbeiten möchte

      Kommentar


      • #4
        mysql_real_escape_string und fertig?! Oder verwendest du irgendwas abstraktes an Klasse, was dich daran hindert und dich dazu zwingt mit Patterns rumzuspielen? Wenn ja, dann wirf die Klasse weg ... kann nicht gut sein ~_~ (und wenn, dann wirklich preg, ereg ist VIEL langsamer...)

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          mysql_real_escape_string kenne ich schon, funktioniert bei mir aber nicht so...

          Ich weiss eigentlich wie preg_match funktioniert und da klappts auch, bei ereg gehts aber nicht und deshalb wollte ich fragen wie es funktionieren würde.

          Ich habs jetzt, danke euch allen. Ich hatte nicht daran gedacht dass es nur vom Anfang an testet... ouch
          closed
          Zuletzt geändert von jmc; 02.06.2006, 16:07.

          Kommentar


          • #6
            Original geschrieben von jmc
            mysql_real_escape_string kenne ich schon, funktioniert bei mir aber nicht so...
            funktioniert bei mir perfekt, hast du ein anderes php als ich?

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              nee aber bei mir darf man einige SQL-Befehle anwenden. Die " " " müssen einfach als [Q], "=" als [G], usw. geschrieben werden und ich habs auch mit preg_match und preg_replace gemacht aber ich wollte mal sehen wies mit ereg funktioniert.

              Kommentar


              • #8
                ja nee, ist klar.

                Kommentar

                Lädt...
                X