Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql_real_escape_string vs. htmlspecialchars

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Zitat von Wolla Beitrag anzeigen
    Wer daraus eine Funktion machen möchte, der kann die Rekursion ja noch einbauen.
    ... oder einfach Beispiel "#2 Verwendung von stripslashes() in einem Array" von hier http://de2.php.net/manual/de/function.stripslashes.php verwenden.

    Kommentar


    • #17
      ...oder meine Links anklicken.

      - http://www.phpforum.de/forum/showthr...ie_L%C3%B6sung

      Kommentar


      • #18
        Zitat von Flor1an Beitrag anzeigen
        Fürs ausgeben reicht html_entities().
        Du meintest sicher htmlspecialchars(..., ENT_QUOTES). Htmlentities() arbeitet auf einer anderen Baustelle.

        Zitat von mermshaus Beitrag anzeigen
        Ja, die Lösung erscheint mir (sowas von) zukunftssicher. Sie nimmt sogar Rücksicht auf noch nicht existierende (also imaginäre) PHP-Versionen.

        Code:
        ...
        if(function_exists('get_magic_quotes_gpc')&& get_magic_quotes_gpc()) // PHP6 safe
        ...
        Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

        Kommentar


        • #19
          Das "Magic Quotes"-Feature ist als deprecated markiert.

          Kommentar


          • #20
            Langsam Jungs Erstmal sortieren:

            htmlspecialchars() funktioniert leider nicht. Meine Experimente und Ergebnisse mit diesem Teststring "test<strong>test</string>":

            PHP-Code:
            mysql_real_escape_string(htmlspecialchars($_POST['kat_keywords'],ENT_QUOTES))
            =
            \&
            quot;test&lt;strong&gt;test&lt;/string&gt;\&quot
            HTML-Tags verschinden und die " werden trotzdem gebackslashed. Selbes ergebnis mit vertauschten Funktionen:

            PHP-Code:
            htmlspecialchars(mysql_real_escape_string($_POST['kat_keywords']),ENT_QUOTES
            Da is ja nur die " weg haben will und die ge\ werden, scheint mit stripslashes() bei der Ausgabe eine Möglichkeit. Denn: Bei der Ausgabe muss ich ohnehin immer wieder Formatierungen vornehmen, zb. um einen Zeitstempel umzuwandeln. Dann kann ich natürtlich auch \-e ändern lassen.

            Allgemein betrachtet scheint mit eine Funktion zu fehlen, die in dieser Hinsicht PHP,MYSQL und HTML unter einen Hut zu bringen. Dabei ist PHP doch fürs Web gemacht. Gibts ne Wishlist, bei der ich den Wunsch eintragen kann, mysql_real_escape_sting um einen entsprechenden Schalter zu erweitern, der einem die Wahl lässt, was wie umgewandelt wird?

            Danke aber soweit, ich glaube jetzt meine Weg dieses Problem zu lösen, gefunden zu haben.

            Kommentar


            • #21
              Allgemein betrachtet scheint mit eine Funktion zu fehlen, die in dieser Hinsicht PHP,MYSQL und HTML unter einen Hut zu bringen
              Das ist auch totaler Unsinn, weil jeder dieser Bereiche andere Sonderzeichen und damit Escapebereiche nutzt. Eine Gesamtlösung gibt es nicht.

              http://php.de/wiki-php/index.php/Zeichenmaskierung

              Das Thema wurde bereits hinreichend behandelt. Bitte benutze die Forensuche und beachte diesen Thread!

              [MOD: Thread geschlossen]
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #22
                Dafür, dass du die Funktionen nicht korrekt anwenden kannst, können die Funktionen nichts. Die eine ist für den Kontext Mysql-Query zuständig, die andere für den Kontext HTML. Dass du beides in einen Topf wirfst, ist kein Problem von PHP.

                Und mysql_real_escape_string so zu „erweitern“, wie du das willst, wäre hochgradiger Unfug.
                [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                Kommentar

                Lädt...
                X