Mein Scipt escapet unaufgefordert Quotes in $_POST Variablen

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

  • Mein Scipt escapet unaufgefordert Quotes in $_POST Variablen

    Hi @ all !

    Ich bin wiedermal am Scipten

    Ich hab jetzt auf meinem domainfactory "Virtual-Server" ein DB-Scipt mit Eingabe-Forumlar laufen. Leider werden alle Quotes in Variablen, die per $_POST gefüllt werden automatisch escapet:
    Also " wird zu \"
    Mein erstes größeres Scipt auf einem anderen Server hat das nicht getan, sonder einfach den Eintrag in die DB verweigert.

    Was mach ich jetzt? Zuerst htmlentities und dann alle Backslashes rausschmeißen erscheint mir zu umständlich.

    Thanx,
    Syco
    [COLOR=darkblue].: 1+1=23 :.[/COLOR]

  • #2
    hmm,

    was ist an diesem verhalten nicht wünschenswert?
    also, was ist da jetzt für dich der nachteil?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      http://de.php.net/manual/de/function...quotes-gpc.php
      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


      • #4
        danke, Abraxax, magic_quotes ist schon auf 0, also OFF..
        [COLOR=darkblue].: 1+1=23 :.[/COLOR]

        Kommentar


        • #5
          hast du addslashes() verwendet?

          zeige doch mal, was du gemacht hast.
          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


          • #6
            Nein, ich hatte gar nichts verwendet, sondern die Variablen unverarbeitet gespeichert. Dann fiel mir das Problem mit den Quotes ein und ich hab mal munter Ein Anführungszeichen eingegeben und mich eigentlich auf eine Fehlermeldung gefreut, aber dann hab ich die Backslashes erspäht..
            [COLOR=darkblue].: 1+1=23 :.[/COLOR]

            Kommentar


            • #7
              ausgabe?
              PHP-Code:
              $var $_POST['deindingauspost'];

              echo 
              '<p>'.(int)get_magic_quotes_gpc().'</p>';
              echo 
              get_magic_quotes_gpc() ? htmlentities($var) : stripslashes(htmlentities($var)); 
              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
                Ich hab jetzt stripslashes verwendet, verstehe aber immer noch nicht wieso meine php-Version einfach ein addslashes von sich aus macht..
                [COLOR=darkblue].: 1+1=23 :.[/COLOR]

                Kommentar


                • #9
                  was gibt mein demo-script aus?
                  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


                  • #10
                    Dein Scipt gibt z.B. bei:
                    Test:
                    "
                    \
                    Ö
                    \"
                    folgendes aus:
                    <p>1</p>Test:
                    \&quot;
                    \\
                    &Ouml;
                    \\\&quot;
                    Was im Browser so aussieht:
                    1

                    Test: \" \\ Ö \\\"
                    [COLOR=darkblue].: 1+1=23 :.[/COLOR]

                    Kommentar


                    • #11
                      mhm. schon merkwürdig.

                      auf jeden fall sagt die 1 aus, dass MQ auf on ist.
                      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


                      • #12
                        achso, ich hatte vorher get_magic_quotes_runtime getestet, das war auf 0

                        OffTopic:
                        btw: die von php.net könnten ruhig mal ein die Seite vervollständigen. Einen Link auf missing-stuff.php mit Linktext "Sehr interessantes, aber unverständliches englisches Wort" hilft relativ wenig weiter.. bsp: http://de.php.net/manual/de/missing-...quotes-runtime
                        [COLOR=darkblue].: 1+1=23 :.[/COLOR]

                        Kommentar


                        • #13
                          Original geschrieben von syco23
                          OffTopic:
                          btw: die von php.net könnten ruhig mal ein die Seite vervollständigen. Einen Link auf missing-stuff.php mit Linktext "Sehr interessantes, aber unverständliches englisches Wort" hilft relativ wenig weiter.. bsp: http://de.php.net/manual/de/missing-...quotes-runtime
                          OffTopic:
                          in solchen fällen ersetze auf der seite vorher im URL /de/ durch /en/ - die englische fassung des manuals ist oftmals aktueller und vollständiger als die deutsche übersetzung.

                          sollte aber eigentlich auch klar sein, dass bei einem projekt wie php nicht ständig auch an allen übersetzungen des manuals gearbeitet werden kann.
                          aber anstatt darüber zu meckern, könntest du ja deine hilfe bei der übersetzung fehlender teile anbieten ...
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            OffTopic:
                            Man lernt nie aus. Ich hätte nicht gedacht, dass man auf diesen Trick zurückgreifen muss, wo doch auch so schon einige Teile des "deutschen" Tut's englisch sind.

                            Das mit der Übersetzung lassen wir lieber... Meine deutsche Nachdichtung hätte sicher ihren Reiz, aber jemandem, der sich für Informationen zu php interessiert, würde ich meine Interpretion der Materie nicht antun wollen..
                            [COLOR=darkblue].: 1+1=23 :.[/COLOR]

                            Kommentar


                            • #15
                              Wenn Du nicht nur die Fähigkeit hättest zu lesen, sondern auch die den gelesenen Inhalt zu verstehen hättest Du heraus bekommen das es mind. 3 verschiedene magic_quotes Settings gibt:
                              Code:
                              ; Magic quotes for incoming GET/POST/Cookie data.
                              magic_quotes_gpc = On
                              
                              ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
                              magic_quotes_runtime = Off    
                              
                              ; Use Sybase-style magic quotes (escape ' with '' instead of \').
                              magic_quotes_sybase = Off
                              Als Kommentar die Bedeutung ...

                              Ergo: magic_quotes_runtime hat nicht die Bohne mit GET oder POST Daten zu tun ... sondern magic_quotes_gpc ...

                              6 setzen ... !
                              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

                              Lädt...
                              X