Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Zeichenfolgen in SQL Server-Abfragen mit PHP sicher maskieren?

Wie kann ich Zeichenfolgen in SQL Server-Abfragen mit PHP sicher maskieren?

Linda Hamilton
Freigeben: 2024-12-09 02:05:14
Original
191 Leute haben es durchsucht

How Can I Safely Escape Strings in SQL Server Queries Using PHP?

Zeichenfolgen in SQL Server mit PHP maskieren: Eine umfassende Anleitung

Bei der Arbeit mit SQL Server mit PHP ist es wichtig, Ihre Daten davor zu schützen SQL-Injection-Angriffe durch ordnungsgemäßes Escapen von Zeichenfolgen. Dies ist eine Technik, um zu verhindern, dass böswillige Eingaben als SQL-Befehle interpretiert werden.

Alternative zu mysql_real_escape_string()

Im Gegensatz zu MySQL bietet SQL Server keine integrierte Funktion Funktion äquivalent zu mysql_real_escape_string().

Enter addslashes()

addslashes() ist eine PHP-Funktion, die oft als mögliche Alternative zum String-Escape in Betracht gezogen wird. Es ist jedoch wichtig zu beachten, dass addslashes() für die Verwendung mit SQL Server-Datenbanken nicht vollständig geeignet ist.

Eine robustere Lösung

Die ideale Lösung ist die manuelle Codierung die Daten als Hex-Bytestring. Hier ist ein Codeausschnitt zur Orientierung:

$unpacked = unpack('H*hex', $data);
mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (0x' . $unpacked['hex'] . ')
');
Nach dem Login kopieren

Abstraktion für wiederverwendbares Escaping

Um den Escape-Prozess zu vereinfachen und wiederzuverwenden, können Sie eine benutzerdefinierte Funktion wie diese erstellen:

function mssql_escape($data) {
    if(is_numeric($data))
        return $data;
    $unpacked = unpack('H*hex', $data);
    return '0x' . $unpacked['hex'];
}

mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (' . mssql_escape($somevalue) . ')
');
Nach dem Login kopieren

Alternative zu mysql_error()

Zur Fehlerbehandlung bietet SQL Server mssql_get_last_message() als Alternative zu mysql_error().

Das obige ist der detaillierte Inhalt vonWie kann ich Zeichenfolgen in SQL Server-Abfragen mit PHP sicher maskieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage