Aktueller Standort: Startseite> Neueste Artikel> Leitfaden zur Verbesserung der PHP-Funktionssicherheit: Schutz vor SQL-Injection- und XSS-Angriffen

Leitfaden zur Verbesserung der PHP-Funktionssicherheit: Schutz vor SQL-Injection- und XSS-Angriffen

M66 2025-10-20

Richtung zur Verbesserung der PHP-Funktionssicherheit

Bei der PHP-Entwicklung ist die Gewährleistung der Sicherheit von Funktionen von entscheidender Bedeutung. In diesem Artikel werden einige wichtige Verbesserungen vorgestellt, die Entwicklern helfen sollen, sichereren und zuverlässigeren PHP-Code zu schreiben.

Verwenden Sie Typhinweise

Typhinweise stellen sicher, dass die an eine Funktion übergebenen Parameter vom richtigen Typ sind, verhindern Fehler durch unerwartete Datentypen und reduzieren potenzielle Sicherheitsrisiken.

 function add($a, $b): int
{
    return $a + $b;
}

// wird verursachen TypeError abnormal
add('1', 2);

Beseitigen Sie SQL-Injection-Schwachstellen

SQL-Injection ist ein häufiges Sicherheitsproblem, und Angreifer können durch das Einfügen bösartiger SQL-Anweisungen an vertrauliche Daten gelangen. Durch die Verwendung parametrisierter Abfragen kann eine SQL-Injection wirksam verhindert werden.

 $statement = $conn->prepare("SELECT * FROM users WHERE username = ?");
$statement->bind_param("s", $username);

Verhindern Sie Cross-Site-Scripting-Angriffe (XSS).

XSS-Angriffe werden typischerweise durch das Einschleusen eines schädlichen Skripts in eine Webseite ausgeführt. Verwenden Sie die HTML-Codierung, um Benutzerdaten sicher auszugeben und die Ausführung von Skripten zu vermeiden.

 function echoHtml($html)
{
    echo htmlspecialchars($html);
}

Benutzereingaben validieren

Benutzereingaben können bösartigen Code oder andere Angriffsvektoren enthalten. Vor der Verwendung sollte eine strenge Überprüfung durchgeführt werden, um zu verhindern, dass illegale Daten in das System gelangen.

 if (!preg_match('/^[a-zA-Z0-9]+$/', $input)) {
    throw new InvalidArgumentException();
}

Verwenden Sie sichere Bibliotheken

PHP stellt eine Vielzahl von Sicherheitsbibliotheken wie PasswordHash, Crypto usw. zur Verfügung, mit denen Hash-Werte sicher generiert sowie sensible Daten ver- und entschlüsselt werden können.

 $hash = password_hash($password, PASSWORD_DEFAULT);

Praxisbeispiel: Erhöhung der Funktionssicherheit

Angenommen, Sie haben eine Funktion, die Benutzereingaben verarbeitet und eine SQL-Anweisung generiert:

 function generateSql($id)
{
    return "SELECT * FROM users WHERE id = $id";
}

Zur Verbesserung der Sicherheit können folgende Verbesserungen vorgenommen werden:

  • Verwenden Sie Typhinweise, um sicherzustellen, dass $id eine Ganzzahl ist
  • Verwenden Sie parametrisierte Abfragen, um SQL-Injection zu verhindern
 function generateSql($id): string
{
    $statement = $conn->prepare("SELECT * FROM users WHERE id = ?");
    $statement->bind_param("i", $id);
    
    return $statement;
}

Durch diese Maßnahmen kann die Sicherheit von PHP-Funktionen deutlich verbessert und das Risiko von Anwendungsangriffen verringert werden.