ereg gegen sql-injection

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?
    Last edited by jmc; 01-06-2006, 20:08.

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

    Comment


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

      Comment


      • #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

        Comment


        • #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
          Last edited by jmc; 02-06-2006, 15:07.

          Comment


          • #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

            Comment


            • #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.

              Comment


              • #8
                ja nee, ist klar.

                Comment

                Working...
                X