Heim  >  Artikel  >  Backend-Entwicklung  >  Kann ich eine Variable als Tabellennamen in SQLite ohne String-Manipulation verwenden?

Kann ich eine Variable als Tabellennamen in SQLite ohne String-Manipulation verwenden?

Barbara Streisand
Barbara StreisandOriginal
2024-11-08 14:30:02194Durchsuche

Can I Use a Variable as a Table Name in SQLite Without String Manipulation?

Variablentabellenname in SQLite

F: Ist es möglich, eine Variable als Namen einer Tabelle in SQLite zu verwenden, ohne auf eine Zeichenfolge zurückzugreifen? Konstrukteure?

A1: Leider nein. Tabellen können nicht das Ziel der Parameterersetzung in SQLite sein.

A2: Um das Injektionsrisiko zu mindern, sollten Sie die Verwendung einer Bereinigungsfunktion in Betracht ziehen, um potenziell schädliche Zeichen aus dem Tabellennamen zu entfernen. Beispielsweise kann die folgende Funktion verwendet werden, um nicht alphanumerische Zeichen zu entfernen:

def scrub(table_name):
    return ''.join(chr for chr in table_name if chr.isalnum())

Verwendung:

scrub('); drop tables --')  # returns 'droptables'

Das obige ist der detaillierte Inhalt vonKann ich eine Variable als Tabellennamen in SQLite ohne String-Manipulation verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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