web-dev-qa-db-ja.com

Nonceは消毒されるべきですか?

一般的なガイドラインは、使用する前にすべてのユーザー入力をサニタイズすることです。

今私の質問はこれがnonceに適用されるかどうかです。

どちらが正しいですか?

wp_verify_nonce( sanitize_text_field( $_GET['some_nonce'] ), 'some_nonce' );

または

wp_verify_nonce( _GET['some_nonce'], 'some_nonce' );

2
Sudar

ユーザー入力をデータベースに挿入するとき、またはHTMLなどに出力するときには、サニタイズが必要です。

wp_verify_nonce関数は、$nonceの値を次のようにチェックします。

if ( hash_equals( $expected, $nonce ) ) {
    return 1;
}

これのためにあなたは消毒する必要はありません。だから、以下は大丈夫です:

wp_verify_nonce( $_GET['some_nonce'], 'some_nonce' );
3
Fayaz