anzeige

Zeichen doppelt abgespeichert


Seite: 1
Autor Beitrag
system45
28.02.10 - 19:13:28 Uhr

Ich schreibe mit dem folgenden "Script" eine Formulareingabe in eine Textdatei. Nur mein Problem ist, dass das zeichen \ immer doppelt abgespeichert wird (also aus \ wird \\).
Ich habe keine Ahnung woran das liegen könnte.
Hier die Datei:

  1. <?php  
  2. $text $_POST["command"];  
  3. $dateiname "command.txt";  
  4. $handler fOpen($dateiname "w-");  
  5. fWrite($handler $text);  
  6. fClose($handler);  
  7. header("Location: home.php");  
  8. ?>  


noch die form (php seite)
  1.  
  2. <form action="ex.php" method="post">  
  3.   <fieldset class="form">  
  4.   <ul class="form">  
  5.   <li class="form">  
  6.  
  7.   <label class="form">Command:</label>  
  8.   <input id="command" name="command" type="text" size="30" maxlength="30" value=""/>  
  9.   </li>  
  10.   <li>  
  11.   <input name="send" type="submit" value="Execute"/>  
  12.   </li>  
  13.   </ul>  
  14.   </fieldset>  
  15. </form>  
  16.  

Auf meinem Appache läuft das script normal.
fredk
28.02.10 - 19:22:23 Uhr

magic quotes ist das Stichwort
Siehehttp://php.net/manual/de/security.magicquotes.php

Kannst du mit nem Script entfernen
  1. <?php  
  2. if (get_magic_quotes_gpc()) {  
  3.     $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);  
  4.     while (list($key$val) = each($process)) {  
  5.         foreach ($val as $k => $v) {  
  6.             unset($process[$key][$k]);  
  7.             if (is_array($v)) {  
  8.                 $process[$key][stripslashes($k)] = $v;  
  9.                 $process[] = &$process[$key][stripslashes($k)];  
  10.             } else {  
  11.                 $process[$key][stripslashes($k)] = stripslashes($v);  
  12.             }  
  13.         }  
  14.     }  
  15.     unset($process);  
  16. }  
  17. ?>  

anarchopunk
28.02.10 - 19:54:19 Uhr

Noch ein Hinweis!
Solltest du die in der Datei abgespeicherten Eingaben später auf der Seite ausgeben wollen, denk daran die Usereingaben vorher zu escapen. Stichwort htmlentities (siehe http://de.php.net/manual/de/function....tities.php).
Gruß.
SammysHP
28.02.10 - 20:46:35 Uhr

Und am besten auch vorher filtern. Überleg mal, wie schnell ich so mehrere GB sinnloser Daten auf die Festplatte schreiben könnte

_________________
www.sammyshp.de
Seite: 1

- Obige Beiträge stellen keine Äußerung oder Meinung von Pytal oder dessen Betreiber dar -