カスタムのget_query_var
を取得するためにquery_var
関数を使用しています。このquery_var
は後で引数を問い合わせて投稿を取得するために使用されます。
$the_query = new WP_Query( $args );
私の質問は、提供されているようなget_query_var
を使用しても安全であるか、それともSQLインジェクションを回避するためにこの変数をきれいにする必要があるかということです。
私は この記事を読みました 、しかしそれは完全には明らかではなく、またそれは古いものです。
完璧な世界では、WordPress ORMはデータベースへのSQLインジェクションを回避するのでクエリをサニタイズする必要はありませんが、特に訪問者から提供された入力データの場合は入力データをきれいにすることを強くお勧めします。
例えば、あなたはこのようなものを使うことができます:
$name = sanitize_text_field( $_POST['name'] );
// WP_Query arguments
$args = array (
'name' => $name,
);
// The Query
$query = new WP_Query( $args );
サニタイズできるたくさんのフィルタ関数があります:
詳しくはこちらをご覧ください。
https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data