Quellcode in MySql-DB speichern

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

  • Quellcode in MySql-DB speichern

    Hi Community,

    ich habe z.Z. ein Problem beim Speichern von Quellcodes der Programmiersprache Autoit, in einer DB.

    Ich möchte Quellcodes wie folgenden, in eine MySql-Db speichern.
    Code:
    #Include <GUIConstants.au3>
    
    $Gui1 = GUICreate("Gui1",600,500)
        $Button1 = GUICtrlCreateButton("Button1",150,300,120,23)
    GUISetState(@SW_SHOW)
    
    While 1
        
        $Msg = GUIGetMsg(1)
        
        Switch $Msg[0]
            Case $GUI_EVENT_CLOSE
                Exit
                
        EndSwitch
        
    WEnd
    Dieser Text sollte auf einem recht einfachen, aber dennoch sicheren Weg, in die Db gelangen. Somit hatte ich die Idee - In eine Textarea wir der Code eingetragen und dann per Button gesendet.

    Dies könnt ihr unter folgendem Link testen: Hier (tragt den Code in die Textarea ein und klickt "Daten absenden")

    Auf der weitergeleiteten Seite seht ihr dann den Text, der wirklich in der php angekommen ist.

    Code:
    Array (     [nachricht] => #Include   $Gui1 = GUICreate(\"Gui1\",600,500)     $Button1 = GUICtrlCreateButton(\"Button1\",150,300,120,23) GUISetState(@SW_SHOW)  While 1          $Msg = GUIGetMsg(1)          Switch $Msg[0]         Case $GUI_EVENT_CLOSE             Exit                  EndSwitch      WEnd )
    Der Quellcode wird also irgendwie escaped...


    Gibt es eine andere Möglichkeit, wie man dies trotzdem hinbekommen kann oder wie man aufbessert. Dazu zusagen ist natürlich, dass ich keine PHP-Sicherheitseinstellungen verändern kann, da dies alles auf einem Freehoster liegt.

    PHP-Einstellungen usw. seht ihr hier: Hier

    Vielen Dank schonmal!
    Mfg Scripter
    Zuletzt geändert von Scripter2009; 22.11.2009, 23:38.

  • #2
    magic_quotes_gpc On

    Das ist das Problem.

    Kommentar


    • #3
      Okej, aber gibt es keine andere Möglichkeit das zu lösen?

      Kommentar


      • #4
        Doch - Manual lesen und informieren.

        http://www.php.net/manual/en/info.co...gic-quotes-gpc -> http://www.php.net/manual/en/functio...quotes-gpc.php
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hm ich werde daraus nicht so wirklich schlaun. Ich habe mein Script man aktuallisiert, ihr könnt also nochmal testen -> Hier

          Der Code sieht so aus:
          PHP-Code:
          <?php
          if (is_array ($_POST)) {
            foreach (
          $_POST as $pkey => $pvalue) {
              
          $_POST[$pkey] = preg_replace ("/\\\\([\"'])/""$1"$pvalue);
            }
          }

          print_r($_POST);
          ?>
          Allerdings sind in Gänsefüßchen geschriebene Dinge immernoch mit "\" escaped und die Zeilenumbrüche sind weg.

          Kommentar


          • #6
            Die Regenechsen brauchst du nicht.
            Erst stripslashes() und danach mysql_real_escape_string() oder eben das, was deine DB verlangt.
            Wir werden alle sterben

            Kommentar


            • #7
              Okej danke! Ich bin mittlerweile soweit:
              PHP-Code:
              <?php
              //error_reporting(0);
              $host "localhost";
              $user "xxxxxx";
              $pass "xxxxxx";
              $dbase "xxxxxx";

              mysql_connect($host$user$pass);
              mysql_select_db($dbase);

              $QCode $_POST["nachricht"];
              $Strip stripslashes($QCode);
              $REsc mysql_real_escape_string($Strip);
              echo 
              $REsc;
              ?>
              Dieser Code wird dann in der DB gespeichert. Nur gibt es eine Möglichkeit dieses ganze escapen, wieder rückgänging zu machen?

              Also eine php-datei die quasi den escapten Quellcode aus der DB holt und wieder "zurückwandelt"...

              Kommentar


              • #8
                Beim Lesen rückgänging machen?
                Das brauchst du nicht!
                Wir werden alle sterben

                Kommentar


                • #9
                  Stimmt ...

                  Alle Fragen sind nun beseitigt. Danke!

                  Kommentar

                  Lädt...
                  X