0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

送受信データのサニタイズ、エスケープ、検証対応 [Data Must be Sanitized, Escaped, and Validated]

Last updated at Posted at 2021-04-02

これは、注意していたのですが、抜けていた内容でした。

いわゆるデータのやり取りをする際にちゃんとデータを綺麗にしてやり取りをするようにということになります。クロスサイトスクリプティング(XSS)脆弱性をなくすようにしてくださいという内容です。すごく大事な部分です。

ここからは、送られてきた英語の文章を意訳して記載します。

サニタイズ、検証、およびエスケープすることが重要なのは、POST / GET / REQUEST / FILEの呼び出しを含める場合です。

サニタイズ(SANITIZE)

(ユーザーによってまたは自動的に)入力されたデータは、できるだけ早くサニタイズする必要があります。 これにより、投稿されたデータが破壊される XSS の脆弱性や MITM 攻撃の可能性が低くなります。

検証(VALIDATE)

何があっても、すべてのデータを検証する必要があります。 有効な値が数字だけの場合は、誰にも文字列(例:「犬」)を入力してほしくないですよね。

エスケープ(ESCAPE)

出力されるデータは、エコーされるときに適切にエスケープする必要があるります。間違ったデータを他の人に見せないようにするために使用できる esc_*() 関数はたくさんあります。

上記を支援するために、WordPress には多数のサニタイズおよびエスケープ機能が付属しています。 以下で確認してください。

注意:扱うデータに最も適切な関数を使用する必要があります。例えば、メールをサニタイズする場合はsanitize_email() を使用し、 HTML を出力する場合は esc_html() を使用します。

対応の方向性は以下の3つです。

早期にサニタイズする
最後にエスケープする
常に検証する

そして、最後に実際に審査に出したプラグインのダメ出しが出されるので、それを修正していく必要があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?