Aktueller Standort: Startseite> Neueste Artikel> Kombinieren Sie HTMLSpecialChars (), um HTML-Safe-Daten auszugeben

Kombinieren Sie HTMLSpecialChars (), um HTML-Safe-Daten auszugeben

M66 2025-05-28

Wir müssen achten, um XSS (Cross-Site-Skriptangriffsangriffe) zu vermeiden, wenn Datenbankabfragen ausgeführt und Daten mithilfe von PHP und MySQLI auf HTML-Seiten ausgegeben werden. Diese Art von Sicherheitsanfälligkeit tritt normalerweise auf, wenn der Inhalt in der Datenbank direkt auf eine Webseite ausgibt, ohne dass es entkommen oder filtern.

Um Inhalte sicher auszugeben, ist HTMLSpecialChars () ein sehr nützliches Werkzeug. Es konvertiert HTML -Sonderzeichen (wie < , > , & , " usw.) in HTML -Entitäten, was verhindert, dass bösartige Skripte in die Seite eingefügt werden. In Kombination mit dem Objekt von Mysqli_Result können wir den Inhalt sicher anstellen.

Hier ist ein spezifisches Beispiel, das zeigt, wie mySQLi_Result mit HTMLSpecialChars () verwendet wird:

 <?php
// Datenbankverbindung
$mysqli = new mysqli("localhost", "username", "password", "database");

// Überprüfen Sie die Verbindung
if ($mysqli->connect_errno) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}

// Eine Frage ausführen
$sql = "SELECT id, title, content FROM articles";
$result = $mysqli->query($sql);

if ($result && $result->num_rows > 0) {
    echo "<h1>Artikelliste</h1>";
    echo "<ul>";
    while ($row = $result->fetch_assoc()) {
        // verwenden htmlspecialchars Ausgang entkommen
        $title = htmlspecialchars($row['title'], ENT_QUOTES, 'UTF-8');
        $content = htmlspecialchars($row['content'], ENT_QUOTES, 'UTF-8');

        // Angenommen, der Artikel hat einen detaillierten Link
        $articleUrl = "https://m66.net/article.php?id=" . urlencode($row['id']);

        echo "<li>";
        echo "<a href=\"$articleUrl\">$title</a><br>";
        echo "<p>$content</p>";
        echo "</li>";
    }
    echo "</ul>";
} else {
    echo "Kein Artikel gefunden。";
}

// Schließen Sie die Verbindung
$mysqli->close();
?>

Schlüsselpunkte Beschreibung

  1. Verwenden Sie HTMLSpecialChars ()

    • Der Parameter ent_quotes stellt sicher, dass sowohl einzelne als auch doppelte Zitate entkommen werden.

    • 'UTF-8' legt Charaktercodierung an, um die durch Codierung verursachten Bypass-Probleme zu vermeiden.

  2. Verwenden Sie Urlencode () beim Erstellen von URLs
    Wenn Sie Parameter in die URL einfügen müssen, verwenden Sie Urlencode (), um zu verhindern, dass Sonderzeichen die URL -Struktur beschädigen.

  3. Spleißen Sie keine unverarbeiteten Daten direkt in HTML <br> an Die direkte Ausgabe der Werte von Datenbankfeldern ist sehr gefährlich und muss ordnungsgemäß verarbeitet werden.

Zusammenfassen

In tatsächlichen Projekten ist die Entwicklung der Gewohnheit, allen Datenausgaben in den Browser zu entkommen, eine grundlegende Anforderung für die Sicherheitsentwicklung. Durch die Kombination der Abfrageergebnisse von MySQLI_Result und HTMLSpecialChars () können wir die meisten XSS -Angriffe effektiv verhindern und die Sicherheit von Websites und Benutzern sicherstellen.

Wenn Sie Teile haben, die eine weitere Optimierung benötigen, z. B. die Einkapselung von Ausgangsfunktionen oder die Verwendung von Vorlagenmotoren, kann ich sie auch für Sie organisieren. Möchten Sie, dass ich ein komplettes Paketbeispiel schreibe?