htmlspecialchars prob

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

  • htmlspecialchars prob

    Hallo Community,

    ich habe mir im Adminpanel eine Sektion eingebaut um von dort schnell mal eine Template Datei zu verändern ohne das ich die Datei runterladen muss editieren wieder hochladen,...

    Problem ist es das wenn ich meine TPL in ein Textarea lade es ganz ok ist aber beim absenden schiebt er vor Anführungszeichen etc. ein Slash.

    Ich habe keine Ahnung voher die kommen da ich kein htmlspecialchars anwende.

    Wäre für hilfe äusserst dankbar.
    Hier das Script welches die Daten ausliest und neu schreibt.
    PHP-Code:
    <?php
    #Session starten
        
    session_start();

    #Configs einbinden
        
    REQUIRE ('../../../lib/global/url_vars.inc.php');
        REQUIRE (
    '../../../lib/global/checkuser.php');
        
    DEFINE ('must_be_online',0);
        
    DEFINE ('must_be_active',0);
        REQUIRE (
    root.'lib/global/configure.inc.php');




    $dir "../../../work/templates/default";
    $fp fopen("$dir/$_GET[dir2]""w"); 
    fwrite($fp$_POST['textfeld']);
    fclose($fp); 
    $inhalt file_get_contents("$dir/$_GET[dir2]");

    echo 
    "<pre>";     /* (test vorschau) */
    print_r($inhalt);
    echo 
    "</pre>";

    #Smarty Validierung    
        
    $title=$conf['cms_name']."Admin";
        
    $nowtext="Start";
        
        INCLUDE (
    LOADTEMPLATE);
        
    $tpl->assign('files',$files);
        
    $tpl->assign('dir2',$dir2);
        
    $tpl->assign('inhalt',$inhalt);
        
    $tpl->display(template_dir.'bin/admin/settings/editor.tpl');
    ?>
    So steht es im Anschluss in der Datei und ist von Smarty natürlich nicht lesbar

    PHP-Code:
    {include file=\"$temp_dir/header/header.tpl\"}{include file=\"$temp_dir/left/left_geb.tpl\"}
        
    <div id=\"main\">
        <h1>Reinigungsmittel</h1>                

    <form><br />
        <div align=\"center\">Sie befinden sich nun in unserem Online - Shop<br />
          <br />
        Links im Menue finden Sie eine breite Palette an Reinigungsmittel.<br />
        <br />
        <strong>Reinigungsmittel für die Gebäudereinigung</strong><br />
        <br />
        Wir wünschen Ihnen nun einen angenehmen Aufenthalt.<br /><br />
        </div>
    </form>
            
            
            
    </div>
    </div>

    {include file=\"
    $temp_dir/footer/footer.tpl\"} 
    Mein Absende Formular
    PHP-Code:
    {include file="$temp_dir/header/admin_header.tpl"}

    <
    div id="main">
            <
    h2>Smarty</h2>
            <
    h3>Settings</h3>

    <
    form type="text" name="test" action="write.php?dir2={$dir2}/{$files}method="POST">
    <
    textarea name="textfeld" cols="120" rows="30" >{$inhalt}</textarea>
    <
    br><input name="submit" type="submit" value="Editieren"><input type=reset value="Zurücksetzen">



    </
    div>

        <
    class="copyright">Copyright | <span class="name">escape v1.0</span> </p>

    </
    body>
    </
    html
    Wäre für jede Hilfe dankbar

    Gruß Thomas
    Zuletzt geändert von escape; 27.01.2008, 20:50.

  • #2
    stripslashes()

    siehe auch get_magic_quotes_gpc()

    Kommentar


    • #3
      Danke es geht nun, wieder etwas gelernt !!!

      Zusammenfassung
      stripslashes() = zulassen
      htmlspecialchars() = verbieten

      habe ich das richtig verstanden ?

      Kommentar


      • #4
        Das eine hat mit dem anderen nichts zutun.
        Lies das Manual zu magic_quotes und verwende auf jeden Fall htmlspecialchars weiter. Ansonsten baust du dir praktisch eine Sicherheitslücke selbst.

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

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

        Kommentar


        • #5
          OK mache ich DANKE !

          Kommentar

          Lädt...
          X