Ankündigung

Einklappen
Keine Ankündigung bisher.

Javasript, PHP. mysqli nicht erlauben

Einklappen

Neue Werbung 2019

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

  • Javasript, PHP. mysqli nicht erlauben

    Hallo zusammen,

    ich habe vor ein Registrierungsscript etwas sicherer zu gestalten, in dem ich z.B kein Javasript, PHP code, und mysqli codes in meine eingabe Formular erlaube.

    Bei Mysql gibt es den function mysql_real_escape oder so, wie siht es denn mit PHP und Javascript aus?

  • #2
    [MAN]htmlspecialchars[/MAN] oder [MAN]htmlentities[/MAN]

    Kommentar


    • #3
      Hinweis: Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen durchführt.
      Hallo tomtaz, danke erst mal für dein Antwort, also was du mir geschickt hast, ist leider nicht so hilfreich, denn das wandelt nur um.
      Mal angenommen jemand möchte sich bei mir registrieren, und als name gibt der jenige einfach ein SQL befehl, dadurch kann ich sehr schlecht da stehen, da dann ist evt meine Daten gelöscht oder Spalten oder so.
      Und eine Umwandlung brauche ich auch nicht.

      Kommentar


      • #4
        ? Ich dachte du verwendest bereits mysql_real_escape_string...

        Kommentar


        • #5
          a) Eingaben prüfen
          b) prepared statement verwenden

          Kommentar


          • #6
            ja sry hab gar nicht dran gedacht ,

            gibt es fertige funktion die PHP oder Javascript auch nicht erlauben, oder gibt es nur diese möglichkeit, was du mir am Anfang angeboten hast?
            Und ist das wirklich auch Sicher?

            Kommentar


            • #7
              wenn jmd php code eingibt wird der sowieso nicht ausgeführt, es sei denn Du jagst eingaben durch eval();
              strip_tags() kann Dir helfen

              Kommentar


              • #8
                so ich hab jetzt mal was kleines geschrieben, aber es funktioniert noch nicht ganz, das wandelt quasi nicht um, und fehler meldungen bekomme ich auch nicht.

                PHP-Code:
                var_dump($_POST);
                    echo 
                '<br /><br /><br />';
                    
                var_dump($_GET);
                    
                    
                array_walk ($_GET'trimHTML');
                    
                array_walk ($_POST'trimHTML');

                    function 
                trimHTML ($value$key) {
                                
                $value trim(htmlspecialchars($valueENT_QUOTES)); 
                    } 

                und das ist das ergebniss:
                Code:
                array(6) {
                  ["user_name"]=>
                  string(11) "<test_name>"
                  ["user_nickname"]=>
                  string(15) "<test_nickname>"
                  ["user_email"]=>
                  string(6) "a@a.as"
                  ["user_passwort"]=>
                  string(15) "<test_passwort>"
                  ["user_passwort2"]=>
                  string(0) ""
                  ["regist"]=>
                  string(12) "Registrieren"
                }
                <br /><br /><br />array(1) {
                  ["seite"]=>
                  string(1) "5"
                }
                wie man siht, sin die zeichen "<", ">" nicht umgewandelt.

                Kommentar


                • #9
                  soso die ausgabe vor der bearbeitung entspricht also nicht deinen erwartungen... wie wäre es wenn Du Dir die manipulierten Daten ausgeben lässt???

                  Kommentar


                  • #10
                    naja das so eigentlich so dann aussehen.

                    • '<' (kleiner als) wird zu '&lt;'
                    • '>' (größer als) wird zu '&gt;'

                    Kommentar


                    • #11
                      Zitat von oma420 Beitrag anzeigen
                      naja das so eigentlich so dann aussehen.

                      • '<' (kleiner als) wird zu '&lt;'
                      • '>' (größer als) wird zu '&gt;'
                      Ja, aber natürlich erst nach der Bearbeitung. Und so zu sehen bekommst du das nur im Quellcode ...

                      Kommentar


                      • #12
                        so Gut das habe ich jetzt ,
                        nun fählt mir mysql_real_escape_string,
                        da bekomme ich allerdings ein Warning :/

                        PHP-Code:
                        if ($this->verbindung === FALSE){
                                    
                        $this->error("CONN.OPEN");
                                }
                                else{
                                    
                        var_dump($_GET);
                                    
                        var_dump($_COOKIE);
                                    
                        array_walk ($_GET'mysql_real_escape_string');                      
                                    
                        array_walk ($_POST'mysql_real_escape_string');                     
                                    
                        array_walk ($_COOKIE'mysql_real_escape_string');                   
                                } 
                        ich stell mit die frag, wieso ich die Felhler bei $_GET und $_COOKIE bekomme, und bei $_POST überhaupt nicht.

                        Code:
                        Warning:  mysql_real_escape_string() expects parameter 2 to be resource, string given in /opt/wwwhome/belal/include/includes/class/Datenbank.class.php on line 40
                        
                        Warning:  mysql_real_escape_string() expects parameter 2 to be resource, string given in /opt/wwwhome/belal/include/includes/class/Datenbank.class.php on line 42

                        Kommentar


                        • #13
                          [MAN]array_walk[/MAN]

                          Typischerweise akzeptiert funcname zwei Parameter. Der Wert von array wird als erster übergeben, und der Schlüssel/Index als zweiter.

                          Hinweis: Wenn funcname direkt mit den Werten des Arrays arbeiten soll, spezifizieren Sie den ersten Parameter von funcname als Referenz. Dann werden alle Änderungen an diesen Elementen direkt in dem originalen Array durchgeführt.

                          Das array sollte nicht innerhalb der Callbackfunktion geändert werden, d.h. es sollten keine Elemente hinzufügt oder gelöscht werden etc. Wenn das Array, auf das array_walk() angewendet wird, geändert wird, ist der Verhalten dieser Funktion nicht definiert und auch nicht vorhersagbar.

                          Kommentar

                          Lädt...
                          X