Wie kann ich sicher einen dynamischen Tabellennamen in SQLite erstellen?

Barbara Streisand
Freigeben: 2024-11-15 00:30:02
Original
421 Leute haben es durchsucht

How can I create a dynamic table name in SQLite securely?

Dynamische Tabellenerstellung in SQLite

Variable Tabellennamen werden in SQLite nicht direkt unterstützt. Es gibt jedoch Techniken, um einen ähnlichen Effekt zu erzielen und gleichzeitig die Sicherheit aufrechtzuerhalten.

Konstruktoren vermeiden

Die Verwendung von String-Konstruktoren zum Erstellen von Tabellennamen wird aufgrund des Risikos von SQL nicht empfohlen Injektionsattacken. Erwägen Sie die Verwendung einer Bereinigungsfunktion, um Sonderzeichen aus der Variablen zu entfernen, bevor Sie den Tabellennamen erstellen.

Scrubbing-Funktion

Ein Beispiel für eine Scrubbing-Funktion finden Sie unten:

def scrub(table_name):
    return ''.join(chr for chr in table_name if chr.isalnum())
Nach dem Login kopieren

Diese Funktion filtert nicht-alphanumerische Zeichen aus dem Tabellennamen heraus.

Verwendung

Um eine Tabelle mit einem dynamisch ermittelten Namen zu erstellen, müssen Sie kann den folgenden Ansatz verwenden:

table_name = scrub(self.name)
cursor.execute("CREATE TABLE StarFrame" + table_name + " (etc etc)")
Nach dem Login kopieren

Dadurch wird sichergestellt, dass der Tabellenname vor möglichen Injektionsangriffen geschützt ist.

Das obige ist der detaillierte Inhalt vonWie kann ich sicher einen dynamischen Tabellennamen in SQLite erstellen?. 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