Heim > Backend-Entwicklung > PHP-Problem > So verwenden Sie PHP, um den Bild-Upload-Pfad auszublenden

So verwenden Sie PHP, um den Bild-Upload-Pfad auszublenden

PHPz
Freigeben: 2023-04-06 11:20:01
Original
836 Leute haben es durchsucht

PHP ist eine weit verbreitete Programmiersprache, die zur Entwicklung verschiedener Arten von Webanwendungen verwendet wird. Im Prozess der Webentwicklung ist das Hochladen von Bildern eine häufige Anforderung. Manchmal möchten wir jedoch den Pfad des Bildes beim Hochladen verbergen, da die Offenlegung des Pfads Hackern möglicherweise Angriffsmöglichkeiten bietet. In diesem Artikel stellen wir vor, wie Sie PHP verwenden, um den Bild-Upload-Pfad auszublenden.

Zuerst müssen wir ein HTML-Formular erstellen, das es dem Benutzer ermöglicht, ein Bild zum Hochladen auszuwählen. HTML-Formulare bestehen normalerweise aus mehreren Elementen, beispielsweise einem Eingabefeld vom Typ „Datei“, in dem der Benutzer eine Datei zum Hochladen auswählen kann. Wir können dieses Formular mit etwas einfachem HTML-Code erstellen:

<form method="post" action="upload.php" enctype="multipart/form-data">
  <input type="file" name="image">
  <input type="submit" value="Upload">
</form>
Nach dem Login kopieren

In diesem Beispiel setzen wir das „action“-Attribut des HTML-Formulars auf „upload.php“, wodurch das PHP-Skript angewiesen wird, die Formulardaten an eine Datei zu senden namens Script-Handler für „upload.php“.

Als nächstes müssen wir die Funktion zum Hochladen von Bildern im Skript „upload.php“ implementieren. Verwenden Sie die Funktion „move_uploaded_file“ in PHP, um die hochgeladene Datei in das angegebene Verzeichnis zu verschieben. Zuvor können wir die Funktion „uniqid“ von PHP verwenden, um einen eindeutigen Dateinamen für die hochgeladene Datei zu generieren. Dies ist nur ein einfacher Beispielcode:

<?php
  $target_dir = "uploads/";
  $target_file = $target_dir . uniqid() . basename($_FILES["image"]["name"]);
  move_uploaded_file($_FILES["image"]["tmp_name"], $target_file);
  echo "The file has been uploaded.";
?>
Nach dem Login kopieren

In diesem Beispiel verschieben wir die hochgeladenen Dateien in das Verzeichnis „uploads“. Der Dateiname ist eine eindeutige Zeichenfolge und das Suffix bleibt erhalten. Dadurch wird sichergestellt, dass unsere Dateinamen eindeutig sind. Beachten Sie, dass wir in diesem Beispiel die „echo“-Anweisung verwenden, um eine erfolgreiche Upload-Nachricht auszugeben. Wenn Sie mehr Interaktion wünschen, können Sie sie an eine andere Seite senden.

Allerdings gibt es hier einige Risiken. Standardmäßig können Benutzer auf den Bildpfad zugreifen, indem sie den Seitenquellcode anzeigen oder den Bildpfad im Browser eingeben. Um dieses Problem zu lösen, können wir die Bilder an einem Ort außerhalb des Webverzeichnisses speichern und sie dann mit PHP lesen.

Wir können die Funktion „file_get_contents“ von PHP verwenden, um die Datei zu lesen, und die Funktion „header“ von PHP, um den Content-Type-Header festzulegen. Unten ist der bearbeitete Code.

<?php
  $file_path = "uploads/" . uniqid() . basename($_FILES["image"]["name"]);
  move_uploaded_file($_FILES["image"]["tmp_name"], $file_path);
  header(&#39;Content-Type: &#39;. mime_content_type($file_path));
  echo file_get_contents($file_path);
  unlink($file_path);
?>
Nach dem Login kopieren

In diesem Beispiel setzen wir den Dateinamen auf eine eindeutige Zeichenfolge und speichern sie im Verzeichnis „Uploads“. Anschließend setzen wir den Content-Type-Header mit der PHP-Funktion „header“ und lesen den Dateiinhalt mit der PHP-Funktion „file_get_contents“. Abschließend löschen wir die Datei mit der „unlink“-Funktion von PHP. Da PHP TMP-Dateinamen verwendet, ist der Browser auch nach dem Löschen der Datei nicht betroffen.

Zusammenfassend lässt sich sagen, dass die Implementierung des Bild-Upload-Pfadversteckens in PHP eine sehr wichtige Sicherheitsmaßnahme ist, um Ihre Anwendung vor Angriffen zu schützen. Mit den oben genannten Techniken können Sie Bildpfade ganz einfach verbergen und Ihre Webanwendung vor Hackern schützen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP, um den Bild-Upload-Pfad auszublenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage