web-dev-qa-db-ja.com

Wordpressの検索クエリをサニタイズする必要がありますか?

カスタムページに検索データを送信するsearchi.php

<?php
    //
    $search_variables = $_GET['s']. '+' .$_GET['cat'];

    //This sends http post to url without curl
    header("Status: 301 Moved Permanently");
    header("Location:http://localhost/wordpress/?s=$search_variables");
    exit;

?>

私はwp_queryが変数をサニタイズすることを知っているので、私はそれについて心配するべきではありません。しかし、申し訳ありませんが、セキュリティを危険にさらす可能性がある方法はありますか。

検索フォームの作業を通して$search_variablesが挿入されたエコー変数<div></div>に気づいたのですが、それについて何かするべきですか?

2
user8842

いいえ。WordPressは検索クエリをサニタイズします。

サニタイズ検索クエリを使用するには、エコーするには the_search_query() を使用するか、 get_search_query()を使用します。 を返すと、検索クエリが返されます。

編集する

あなたの編集に基づいて:

  • $_GET['s']を使わないでください。 get_search_query()を使用してください。
  • $_GET['cat']を使わないでください。 get_the_category()を使用してください。
  • すべての$_GETおよび$_POSTデータは、と本質的に安全ではないと想定されるであり、それに従ってサニタイズ/検証されるべきです。
9
Chip Bennett