Der Martin: merkwürdiger Fehler

Beitrag lesen

Hi,

if(isset($_POST["action"])&&$_POST["action"]=="edit"&&$config["edit"]==1) {

  print '	<form action="'.$_SERVER['PHP_SELF'].'" method="post"><fieldset>  
  		<textarea cols="60" rows="15" name="newcontent">'.htmlspecialchars(file_get_contents($_POST["filename"]), ENT_QUOTES).'</textarea><br />  
  		<input type="hidden" name="action" value="editsure" /><input type="hidden" name="filename" value="'.$_POST["filename"].'" />  
  		<input type="submit" name="subbut" value="Save" style="float:left;" /><input type="submit" name="subbut" value="Cancel" />  
  		</fieldset></form>';  

}

  
welchen Wert hat $\_POST["filename"] hier? Ist es wirklich ein Dateiname?  
  
Der müsste ja auch als value-Attribut des Hidden-Feldes "filename" ablesbar sein. Hier fehlt übrigens das Escaping: Was ist, wenn $\_POST["filename"] aus irgendeinem dummen Grund mal ein Anführungszeichen enthält?  
  
Oder versuchst du hier versehentlich, per HTTP auf die gewünschte Datei zuzugreifen? Dann würdest du im Falle einer PHP-Datei nicht das Script selbst bekommen, sondern eine neue PHP-Instanz mit eben diesem Script starten und dessen Ausgabe bekommen.  
  
Allerdings hätte dir das dann anhand anderer PHP-Scripte schon auffallen müssen.  
  
So long,  
 Martin  

-- 
Besteht ein Personalrat aus nur einer Person, erübrigt sich die Trennung nach Geschlechtern.  
  (aus einer Info des deutschen Lehrerverbands Hessen)  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(