Textarea User Input filtern?

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

  • Textarea User Input filtern?

    Hi.

    Schreib hier grade an so den ein oder anderen Sachen rum und frage mich grade was ich so bei einem User Input aus eine Textarea filtern sollte (z.B. bei Gästebuch oder News Einträgen).

    Was haltet ihr da für sinnvoll ausser klar sowas wie swear words (************, fuck, etc) ? Sollte man auch "böse" SQL commands wie alter oder sowas raus filtern?

    Gruss,

    der buzz

  • #2
    *lol* gar keine SQL Commands.
    dann Tags umwandeln addlsashes etc.

    Kommentar


    • #3
      @Celebi:

      Wieso lol @ sql commands? Hab zwar schon tausendmal gelesen dass bei einem update xy delete * das delete nicht zum tragen kommt aber hab dann auch tausendmal gelesen dass man sich nicht sicher sei.

      So what? War dumme Frage?

      Danke für die Antwort,

      der buzz

      Kommentar


      • #4
        Ich habs so verstanden, dass du die User SQL Commands in ihre Einträge schreiben lässt. Das muss raus. Es sei denn, du "verharmlosest" sie.

        Kommentar


        • #5
          Du bist aber ein fixes Kerlchen. Direkt wieder ne Antwort :-) Danke.

          Also doch "böse" sql commands raus filtern und / oder durch xxx oder was weiss ich ersetzen bevor der Query ausgeführt wird?

          der buzz

          Kommentar


          • #6
            Hm, ich würds eher so machen:
            Code:
            "\'Query\'"
            Aber ich bin mer net mal sicher, ob man den ausführen könnte.

            Kommentar


            • #7
              So ein quatsch ... aus welchen Grunde gibt's wohl Funktionen wie mysql_escape_string() oder mysql_real_escape_string() ... aus welchem Grunde sollte man in der Eingabezeile eines Gästebuch's keine SQL-Kommandos eingeben dürfen ... absurde Diskussion ... !
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                @Celibi:

                Werde es mal ausprobieren ob das geht. Dankeschön.

                @goth:

                Na absurd finde ich die Diskussion nicht, würde sie eher als Frage eines ,in der Hinsicht unwissenden nämlich mir, bezeichnen. Stelle diese, für Dich scheinbar absurde, Frage um zu wissen wie ich den User Input zu bearbeiten habe um nicht Gefahr zu laufen dass jemand mit Verstand die komplette DB löschen kann.

                Wenn ich mir z.B. das Forum Tutorial von Moqui angucke muss ich sehen dass der einfach den Inhalt einer Formvariablen komplett in die Query übernimmt ohne in zu checken.

                Im Gästebuch Tutorial von Andreas Zimare werden nur Smilies bearbeitet.

                Im Gästebuch Tutorial von Andreas Dzialocho wird auch wieder GAR NICHTS gemacht.

                So und dass meine Frage nicht wirklich absurd ist sehe ich wenn ich in anderen PHP Entwickler Seiten schaue. Da steht z.B. dass in einer SQL Query nur eine Funktion ausgeführt wird. Sprich wenn der Beginn der Query z.B. ein Insert ist dass dann egal ist wenn man z.B. in einem 'insert xy (name,body) values ("user","delete *") das zweite, böse SQL Kommando auftritt. Es wird nicht abgearbeite. Aber wie gesagt in anderen Foren unterhält man sich auch darüber ob es nicht möglich ist durch diverse esc commands oder asciis das, in obigem Beispiel, insert durch sagen wir mal trivial das Senden von backspaces überschreiben kann und dadurch doch schafft dass der delete * durch geht.

                Aber ich habe verstanden.

                tags wandeln
                addslahes
                mysql_escape_string

                und glücklich ist die Welt.

                Oder hab ich etwa in der Textarea den Parameter "do not accept ANY sql command" übersehen?

                Gruss,

                der andy

                Kommentar


                • #9
                  benutze lieber mysql_escape_string und kein addslashes. Bei der Asugabe dann einfach noch stripslashes.

                  Kommentar


                  • #10
                    Danke Dir, werde es probieren.

                    der buzz

                    Kommentar

                    Lädt...
                    X