2016-06-19 5 views
0

Ich habe den folgenden PHP-CodeWie kann ich die Apache Multipart/Form-Daten Behandlung deaktivieren?

<form method="post" enctype="multipart/form-data"> 
<input type="file" name="fil"> 
<input type="submit"> 
</form> 
<?php 

foreach(getallheaders() as $name){ 
if(preg_match("~multipart/form-data~",$name)){ 
    die("trying to upload something?"); 
} 
} 
?> 

das Problem ist PHP die Datei behandelt, nachdem sie von Apache verarbeitet wird.
was ich will, ist die Kontrolle der mehrteiligen/Form-Daten, bevor es sogar mit Apache verarbeitet werden.

Antwort

0

Set PHP enable_post_data_reading Richtlinie Off dann php://input verwenden, um die rohen POST Daten zu lesen.

Beachten Sie, dass php: // input ist mit enctype = "multipart/form-data" nicht verfügbar, es sei dennenable_post_data_reading ist Off (die docs erwähnen nicht das letzte Bit).

+0

also wie kann ich multipart/formdata mit php verarbeiten, wenn es zuerst gesendet wird, bevor es mit Apache verarbeitet wird? –

+0

Apache verarbeitet es nicht, PHP tut es. Mit der beschriebenen Vorgehensweise können Sie die rohen POST-Daten selbst verarbeiten. Sie können keine Logik ausführen, bevor die Daten in PHP gelangen, wenn Sie danach suchen. – ShiraNai7

Verwandte Themen