Ich benutze die get_query_var
Funktion, um eine benutzerdefinierte zu erhalten query_var
. Dies query_var
wird später verwendet, um Argumente abzufragen, um Beiträge abzurufen mit:
$the_query = new WP_Query( $args );
Meine Frage ist, ist es sicher, wenn ich das verwende get_query_var
, was bereitgestellt wird, oder muss ich diese Variable bereinigen, um SQL-Injektionen zu vermeiden?
Ich habe diesen Beitrag gelesen , aber er ist nicht ganz klar und auch alt.
WP_Query
Objekt macht die Argumente für Datenbankinteraktionen sicher, z. B. das Verhindern von SQL-Injektionen. Es ist jedoch gut, dass Sie die Benutzereingabedaten bereinigen und anhand des erwarteten Werts validieren.Antworten:
In einer perfekten Welt müssen Sie Ihre Abfragen nicht bereinigen, da das WordPress-ORM SQL-Injektionen in die Datenbank vermeidet. Es wird jedoch dringend empfohlen, Ihre Eingabedaten zu bereinigen, insbesondere wenn Eingabedaten von einem Besucher bereitgestellt werden.
Sie können beispielsweise Folgendes verwenden:
Es gibt viele Filterfunktionen, die bereinigen können:
Weitere Informationen finden Sie unter:
https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data
quelle