WordPressの安全なテーマを作成するために、データ検証(データ検証ではなく)を理解しようとしています。テーマ開発者向けのベストプラクティスを詳しく説明する包括的なガイドを探して、インターネットを検索しました。Data Validationというコーデックスページなど、私が出会ったいくつかのリソースがありましたが、役に立つものはありませんでした。コーデックスページには、使用可能なサニタイズ機能、その使用法、およびその機能がリストされていますが、なぜ他のサニタイズ機能を使用するのか、またはどのような状況で特定のサニタイズ機能を使用するのかを説明できません この投稿の目的は、すべての人に不正/非サニタイズコードの例を提供し、適切なサニタイズのためにどのように書き換えるかを要求することです。これは、投稿タイトルまたは投稿サムネイルをサニタイズする一般的なコードsrcまたはサニタイズを処理するより精巧なコードです。$_POST
Ajaxリクエストのデータ。
さらに、データベースを追加/更新するためのWordPress機能(たとえば、以下のコードブロックで言及されている機能)が自動的にサニタイズ作業を処理するかどうかを知りたいですか?「はい」の場合、これらのWordPress機能に送信されたデータをサニタイズするための追加措置を講じるときに例外はありますか?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
また、PHPのHTMLをHTMLのPHPインラインに対してエコーする場合、サニタイズは異なる方法で行う必要がありますか?私が尋ねていることをより明確にするために、ここにコードがあります:
<?php echo '<div class="some-div ' . $another_class . '" data-id="' . $id . '" >' . $text . '</div>'; ?>
<div class="some-div <?php echo $another_class; ?>" data-id="<?php echo $id; ?>"><?php echo $text; ?></div>
上記のステートメントは両方とも同じことを達成します。しかし、それらを異なる方法でサンテートする必要がありますか?