Heim Backend-Entwicklung PHP-Tutorial PHP-Datenfilterung: Behandeln Sie effektiv vom Benutzer eingegebene Bilder und Multimediadateien

PHP-Datenfilterung: Behandeln Sie effektiv vom Benutzer eingegebene Bilder und Multimediadateien

Jul 28, 2023 pm 04:53 PM
用户输入 php数据过滤 图片与多媒体文件

PHP-Datenfilterung: Von Benutzern eingegebene Bilder und Multimediadateien effektiv verarbeiten

In modernen Netzwerkanwendungen ist das Hochladen von Bildern und Multimediadateien durch Benutzer zu einem alltäglichen Vorgang geworden. Allerdings sind die Gewährleistung der Sicherheit hochgeladener Dateien sowie die effektive Filterung und Validierung von Benutzereingaben Aufgaben, denen jeder Entwickler Aufmerksamkeit schenken sollte. In diesem Artikel werden einige PHP-Datenfiltertechniken vorgestellt und einige Codebeispiele bereitgestellt, um Entwicklern dabei zu helfen, von Benutzern hochgeladene Bilder und Multimediadateien besser zu verarbeiten.

Zunächst müssen wir sicherstellen, dass es sich bei den von Benutzern hochgeladenen Dateien tatsächlich um Bilder oder Multimediadateien und nicht um bösartigen Code oder andere gefährliche Dateien handelt. Um dieses Ziel zu erreichen, können wir die Erweiterung und den MIME-Typ verwenden, um den Typ der Datei zu überprüfen.

Codebeispiel 1: Dateierweiterung überprüfen

$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];

$uploadedFileExtension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

if (!in_array(strtolower($uploadedFileExtension), $allowedExtensions)) {
    echo "只允许上传以下文件类型:jpg, jpeg, png, gif";
    exit;
}
Nach dem Login kopieren

Der obige Code verwendet die Funktion pathinfo(), um die Erweiterung der hochgeladenen Datei abzurufen, und verwendet dann den Code in_array()</ > Funktion zum Überprüfen, ob die Erweiterung in der Liste der zulässigen Dateitypen enthalten ist. <code>pathinfo()函数来获取上传文件的扩展名,然后通过in_array()函数来验证扩展名是否在允许的文件类型列表中。

代码示例2:验证文件MIME类型

$allowedMimeTypes = ['image/jpeg', 'image/png', 'image/gif'];

$uploadedFileMimeType = finfo_file(finfo_open(FILEINFO_MIME_TYPE), $_FILES['file']['tmp_name']);

if (!in_array($uploadedFileMimeType, $allowedMimeTypes)) {
    echo "只允许上传以下文件类型:jpeg, png, gif";
    exit;
}
Nach dem Login kopieren

以上代码使用了finfo_file()函数来获取上传文件的MIME类型,然后通过in_array()函数来验证MIME类型是否在允许的文件类型列表中。

除了验证文件的类型,我们还需要对文件的大小进行限制,以避免服务器资源的浪费和潜在的安全问题。

代码示例3:验证文件大小限制

$maxFileSize = 10 * 1024 * 1024; // 10MB

if ($_FILES['file']['size'] > $maxFileSize) {
    echo "上传文件大小不能超过10MB";
    exit;
}
Nach dem Login kopieren

以上代码将文件大小限制为10MB,如果上传文件的大小超过了这个限制,就会提示错误信息并终止脚本的执行。

在处理用户上传的图片和多媒体文件时,为了防止恶意代码的注入,我们还需要对文件进行安全的存储和展示。

代码示例4:安全存储文件

$uploadDirectory = 'uploads/';

$uploadedFileName = $_FILES['file']['name'];
$uploadedFileTempName = $_FILES['file']['tmp_name'];

$newFileName = uniqid('', true) . '.' . $uploadedFileExtension;
$destination = $uploadDirectory . $newFileName;

if (move_uploaded_file($uploadedFileTempName, $destination)) {
    echo "文件已成功上传";
} else {
    echo "文件上传失败";
    exit;
}
Nach dem Login kopieren

以上代码将上传的文件存储在uploads/目录下,并使用uniqid()

Codebeispiel 2: MIME-Typ der Datei überprüfen

echo '<img src="uploads/' . $newFileName . '" alt="User Uploaded Image">';
Nach dem Login kopieren
Der obige Code verwendet die Funktion finfo_file(), um den MIME-Typ der hochgeladenen Datei abzurufen, und verwendet dann in_array()-Funktion zum Überprüfen, ob der MIME-Typ in der Liste der zulässigen Dateitypen enthalten ist. <p></p>Zusätzlich zur Überprüfung des Dateityps müssen wir auch die Dateigröße begrenzen, um eine Verschwendung von Serverressourcen und potenzielle Sicherheitsprobleme zu vermeiden. <p></p>Codebeispiel 3: Dateigrößenbeschränkung überprüfen🎜rrreee🎜Der obige Code begrenzt die Dateigröße auf 10 MB. Wenn die Größe der hochgeladenen Datei diese Grenze überschreitet, wird eine Fehlermeldung angezeigt und die Ausführung des Skripts wird abgebrochen. 🎜🎜Bei der Verarbeitung von von Benutzern hochgeladenen Bildern und Multimediadateien müssen wir die Dateien außerdem sicher speichern und anzeigen, um das Einschleusen von Schadcode zu verhindern. 🎜🎜Codebeispiel 4: Dateien sicher speichern🎜rrreee🎜Der obige Code speichert die hochgeladene Datei im Verzeichnis <code>uploads/ und verwendet die Funktion uniqid(), um eine eindeutige Datei zu generieren name , um Dateinamenkonflikte zu vermeiden. 🎜🎜Codebeispiel 5: Bilder und Multimediadateien sicher anzeigen🎜rrreee🎜Der obige Code zeigt, wie hochgeladene Bilddateien sicher auf einer Webseite angezeigt werden. Für andere Arten von Multimediadateien können entsprechende HTML-Tags und -Attribute zur Anzeige verwendet werden. 🎜🎜Zusammenfassend lässt sich sagen, dass die PHP-Datenfilterung der Schlüssel zur Gewährleistung der sicheren und effektiven Verarbeitung der von Benutzern hochgeladenen Bilder und Multimediadateien ist. Durch die Überprüfung des Dateityps, der Dateigröße und der sicheren Speicherung können wir einen zuverlässigen Upload-Mechanismus bereitstellen und potenzielle Sicherheitsbedrohungen verhindern. Wir hoffen, dass die Codebeispiele in diesem Artikel Entwicklern dabei helfen können, von Benutzern eingegebene Bilder und Multimediadateien besser zu verarbeiten. 🎜

Das obige ist der detaillierte Inhalt vonPHP-Datenfilterung: Behandeln Sie effektiv vom Benutzer eingegebene Bilder und Multimediadateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erhalte ich eine Zeichenfolge aus Benutzereingaben in Python? Wie erhalte ich eine Zeichenfolge aus Benutzereingaben in Python? Aug 22, 2023 pm 06:01 PM

In Python gibt es mehrere Möglichkeiten, eine Zeichenfolge vom Benutzer einzugeben. Die gebräuchlichste Methode ist die Verwendung der integrierten Funktion input(). Mit dieser Funktion kann der Benutzer eine Zeichenfolge eingeben, die dann als Variable zur Verwendung durch das Programm gespeichert wird. Beispiel Nachfolgend finden Sie ein Beispiel für die Eingabe einer Zeichenfolge durch den Benutzer in Python −#Defineavariabletostoretheinputname=input("Pleaseenteryourname:")#Printtheinputprint("Hello,"+name+"!Goodtoseeyou.&qu

So verwenden Sie die findInLine()-Methode der Scanner-Klasse, um eine bestimmte Zeichenfolge in der Benutzereingabe zu finden So verwenden Sie die findInLine()-Methode der Scanner-Klasse, um eine bestimmte Zeichenfolge in der Benutzereingabe zu finden Jul 24, 2023 am 09:23 AM

So verwenden Sie die findInLine()-Methode der Scanner-Klasse, um eine bestimmte Zeichenfolge in Benutzereingaben zu finden. Die Scanner-Klasse ist eine häufig verwendete Eingabeverarbeitungsklasse in Java. Sie bietet eine Vielzahl von Methoden zum Lesen von Daten aus dem Eingabestream. Unter anderem kann die Methode findInLine() verwendet werden, um die angegebene Zeichenfolge in der Benutzereingabe zu finden. In diesem Artikel wird die Verwendung der findInLine()-Methode der Scanner-Klasse vorgestellt und entsprechende Codebeispiele angehängt. Bevor Sie mit der Verwendung der Flosse der Scanner-Klasse beginnen

PHP-Datenfilterung: Umgang mit unsicheren Dateipfaden PHP-Datenfilterung: Umgang mit unsicheren Dateipfaden Jul 30, 2023 pm 06:53 PM

PHP-Datenfilterung: Umgang mit unsicheren Dateipfaden Beim Schreiben von Webanwendungen müssen wir häufig mit vom Benutzer bereitgestellten Dateipfaden umgehen. Wenn wir jedoch nicht sorgfältig mit diesen Pfaden umgehen, kann es zu Sicherheitslücken kommen. In diesem Artikel erfahren Sie, wie Sie unsichere Dateipfade effektiv handhaben, um die Sicherheit des Systems zu gewährleisten. 1. Was ist ein unsicherer Dateipfad? Ein unsicherer Dateipfad ist ein vom Benutzer eingegebener Dateipfad, der schädlichen Code enthalten oder zu Sicherheitslücken bei der Remotecodeausführung führen kann. Diese Dateipfade können zum Lesen, Schreiben usw. verwendet werden

Prinzipien der sicheren PHP-Codierung: So verwenden Sie die Funktion filter_var, um Benutzereingaben zu filtern und zu überprüfen Prinzipien der sicheren PHP-Codierung: So verwenden Sie die Funktion filter_var, um Benutzereingaben zu filtern und zu überprüfen Aug 01, 2023 am 08:25 AM

Prinzipien der sicheren PHP-Codierung: So verwenden Sie die Funktion filter_var zum Filtern und Überprüfen von Benutzereingaben. Übersicht: Mit der rasanten Entwicklung des Internets und der weit verbreiteten Verwendung von Webanwendungen werden Sicherheitsfragen immer wichtiger. Eine effektive und sichere Filterung und Validierung von Benutzereingaben ist einer der Schlüssel zur Gewährleistung der Sicherheit von Webanwendungen. In diesem Artikel wird die Funktion filter_var in PHP vorgestellt und erläutert, wie man sie zum Filtern und Validieren von Benutzereingaben verwendet, um so sicherere Codierungspraktiken bereitzustellen. filter_var-Funktion: f

PHP-Datenfilterung: So filtern Sie vom Benutzer eingegebene Steuerzeichen PHP-Datenfilterung: So filtern Sie vom Benutzer eingegebene Steuerzeichen Jul 29, 2023 am 11:12 AM

PHP-Datenfilterung: So filtern Sie von Benutzern eingegebene Steuerzeichen. Steuerzeichen sind einige nicht druckbare Zeichen im ASCII-Code. Sie werden normalerweise zur Steuerung der Anzeige und des Formats von Text verwendet. Allerdings können in der Webentwicklung vom Benutzer eingegebene Steuerzeichen missbraucht werden, was zu Sicherheitslücken und Anwendungsfehlern führen kann. Daher ist es sehr wichtig, eine Datenfilterung für Benutzereingaben durchzuführen. In PHP können durch die Verwendung integrierter Funktionen und regulärer Ausdrücke vom Benutzer eingegebene Steuerzeichen effektiv herausgefiltert werden. Hier sind einige häufig verwendete Methoden und Codebeispiele: Verwendung von fil

So lesen Sie eine Gleitkommazahl aus Benutzereingaben mit der Methode nextDouble() der Klasse Scanner So lesen Sie eine Gleitkommazahl aus Benutzereingaben mit der Methode nextDouble() der Klasse Scanner Jul 24, 2023 pm 08:27 PM

So lesen Sie Gleitkommazahlen aus Benutzereingaben mithilfe der nextDouble()-Methode der Scanner-Klasse. In Java ist die Scanner-Klasse eine sehr häufig verwendete Klasse zum Lesen von Daten aus Benutzereingaben. Die Scanner-Klasse bietet viele verschiedene Methoden zum Lesen verschiedener Datentypen. Unter anderem kann die Methode nextDouble() zum Lesen von Gleitkommazahlen verwendet werden. Unten finden Sie einen einfachen Beispielcode, der zeigt, wie Sie die nextDouble()-Methode der Scanner-Klasse verwenden, um die zu erhalten

Methoden zum Erhalten von Benutzereingaben: Detaillierte Erklärung der PHP-Funktion fgets() Methoden zum Erhalten von Benutzereingaben: Detaillierte Erklärung der PHP-Funktion fgets() Jun 27, 2023 am 09:03 AM

Bei der Erstellung von Webseiten ist das Einholen von Benutzereingaben ein wichtiger Faktor. PHP ist eine leistungsstarke Skriptsprache, die mit HTML verwendet werden kann, um verschiedene Aufgaben auszuführen, einschließlich des Einholens von Benutzereingaben. In PHP gibt es viele Funktionen, mit denen Benutzereingaben eingeholt werden können. Eine der am häufigsten verwendeten Funktionen ist fgets(). In diesem Artikel werden die Verwendung und Vorsichtsmaßnahmen für die Verwendung der Funktion PHPfgets() ausführlich vorgestellt. 1. Grundlegende Verwendung der fgets()-Funktion PHPfgets()

Wie verwende ich Benutzereingabe- und -ausgabefunktionen zur Verhinderung von Cross-Site-Scripting-Angriffen in PHP? Wie verwende ich Benutzereingabe- und -ausgabefunktionen zur Verhinderung von Cross-Site-Scripting-Angriffen in PHP? Jul 24, 2023 am 11:36 AM

Wie verwende ich Benutzereingabe- und -ausgabefunktionen zur Verhinderung von Cross-Site-Scripting-Angriffen in PHP? Einleitung: Cross-SiteScripting (XSS) ist eine häufige Bedrohung für die Netzwerksicherheit. Angreifer fügen schädliche Skripte in Webseiten ein, um Benutzerinformationen zu stehlen und zu manipulieren. In der PHP-Entwicklung können Cross-Site-Scripting-Angriffe durch die Verwendung von Benutzereingabe- und -ausgabefunktionen wirksam verhindert werden. In diesem Artikel wird erläutert, wie diese Funktionen zum Schutz eingesetzt werden. 1. Grundlegendes zu Cross-Site-Scripting-Angriffen (XSS) Cross-Site-Scripting

See all articles