As you Wish

Php datei herunterladen und speichern

Ich habe eine PHP-Datei, die ich möchte, dass meine Website-Besucher herunterladen können. (Es ist eine Beispieldatei.php.) So könnte ein HTML-Formular auf blah.php verweisen, das einen PHP-Ausschnitt enthält, Code, der mit PHP-Tags umgeben ist, der prüft, ob password=1234 übermittelt wurde, aber wenn Sie blah.php wget, werden Sie diesen Code nicht sehen. (auch wenn der PHP-unterstützende Webserver Sie blah.php direkt bekommen hat, ohne Sie umzuleiten, um eine andere Datei zu erhalten.. es ist nicht wirklich die blah.php auf dem Server, die Sie bekommen). Es ist blah.php vom Server mit PHP-Code entfernt und ersetzt mit was auch immer die PHP ausgegeben. Oder mit welchem Client-Side-Code (html/javascript) der ermittelte PHP-Code angezeigt werden soll. Hier ist der komplette Code der Datei “download.php”, die den Download erzwingen. Ebenso können Sie das Herunterladen anderer Dateiformate wie Word-Doc, PDF-Dateien usw. erzwingen. Oder kann ich nicht auf die PHP-Datei zugreifen, da sie vom Server ausgeführt wird? Ich habe zwar die Datei in “example.txt” umzubenennen, aber das könnte kompliziert sein, und es erlaubt ihnen immer noch nicht zu speichern, ohne vorher auszuwählen/einfügen usw. Im Idealfall verfügen Sie über eine Liste der zulässigen Dateien, und das Skript verweigert alle anderen Anforderungen.

Wenn Sie diese Direktive nicht ändern können oder nicht, dann sollten Sie meine Anleitung zum Herunterladen von Dateien mit cURL überprüfen. Es gibt nur ein Problem. Was ist, wenn Sie eine große Datei haben, wie 100mb. Dann geht Ihnen der Arbeitsspeicher aus und Sie können die Datei nicht herunterladen. Nun, dieses scheint ganz einfach, und es ist. Alles, was Sie tun müssen, um eine Datei auf Ihren Server herunterzuladen, ist: Wenn Sie auf einen Link klicken, der auf eine PDF- oder Image-Datei verweist, wird sie nicht direkt auf Ihre Festplatte heruntergeladen. Es öffnet die Datei nur in Ihrem Browser. Darüber hinaus können Sie es auf Ihrer Festplatte speichern.

Zip- und Exe-Dateien werden jedoch standardmäßig automatisch auf die Festplatte heruntergeladen. Dies ist ein PHP-Tutorial zum Herunterladen einer Datei von einem Remote-Server mit file_get_contents. In diesem Tutorial laden wir die Datei mit file_get_contents herunter und speichern sie mit file_put_contents. Webserver sind in der Regel so konfiguriert, dass nur PHP-Dateien ausgeführt werden, sodass .jpg oder andere Dateitypen als normal bereitgestellt werden. Diese übrig gebliebenen Dateien zu finden ist eine umständliche Aufgabe, daher sollten Sie einen Blick auf automatisierte URL-Fuzzing-Tools werfen. Ehrlich gesagt, müssten Sie etwas Glück haben, dass ein Exploit möglich ist, und Sie müssten auch herausfinden, wie das Dateisystem des Servers strukturiert ist (d. h. was ist der relative Pfad des Skripts, an dem Sie interessiert sind, im Vergleich zu dem Skript, das die LFI-Schwachstelle enthält) Also, wenn Sie planen, den Server zu erkunden, verwenden Sie eine Sandbox/VM. Sie können Glück haben, wenn der Server tatsächlich schlecht konfiguriert ist, wie der Kommentar von Gustavo Rodrigues nahelegt.