WordPressプラグインと何千ものWebサイトにテーマを構築する場合、WordPressの入力とままにするデータを慎重に処理してください。このチュートリアルでは、WordPressデータを保護、クリーニング、チェックするためのネイティブ機能を検討します。これは、設定ページ、HTMLフォーム、ショートコードの操作などの作成に重要です。
データ浄化とは何ですか?
要するに、データの浄化はユーザーの入力をクリーンアップすることです。入力で許可されていないテキスト、文字、またはコードを削除します。
例: gmailは、CSSがGmailスタイルを上書きするのを防ぐために表示する前に、HTMLメッセージからタグとコンテンツを削除します。 WordPressウィジェットのタイトルはHTMLタグを許可せず、ある場合はタイトルを保存する前に自動的に削除されます。
WordPressは、さまざまなタイプのデータを精製するための複数の関数を提供します:
sanitize_email()
outputsanitize_email("narayan prusty@sitepoint.com")
。 "narayanprusty@sitepoint.com"
sanitize_file_name()
outputsanitize_file_name("_profile pic--1_.png")
。 "profile-pic-1_.png"
sanitize_key()
outputsanitize_key("http://SitePoint.com")
。 "httpsitepointcom"
sanitize_text_field()
outputsanitize_text_field("<b>Bold</b>")
。 "Bold"
sanitize_title()
)。たとえば、sanitize_text_field
outputsanitize_title("Sanítizing, Escaping and Validating Data in WordPress")
。 "sanitizing-escaping-and-validating-data-in-wordpress"
データエスケープとは何ですか? 要するに、データエスケープは出力を保護することです。これは、XSS攻撃を防ぎ、データが予想どおりに表示されるようにするために行われます。
データエスケープは、実行ではなく表示のために特別なHTML文字をHTMLエンティティに変換します。
例:Facebookは、ユーザーがお互いのコンピューターでコードを実行しないことを確認するために、表示時にチャットメッセージを逃れます。 WordPressは、さまざまな種類のデータを逃れるためのいくつかの関数を提供します: データ検証とは何ですか?
例:ウェブサイトでアカウントを作成すると、パスワードを2回入力するように求められます。システムは、2つのパスワードが同じであることを確認します。
結論
faq(faq)
esc_html()
:HTML固有の文字をエスケープします。 esc_textarea()
:テキスト領域にテキストを表示するときは、esc_textarea()
がエンティティをダブルエンコードできるため、esc_html()
の代わりにesc_textarea()
を使用します。 esc_attr()
:,
、&
、"
、および'
文字をエンコードします。エンティティを二重にエンコードすることはありません。この関数は、HTMLタグ属性の値を逃れるために使用されます。 esc_url()
:URLにはJavaScriptコードが含まれている場合があります。したがって、URLまたはフル<a></a>
タグを表示する場合は、href
属性を脱出する必要があります。そうしないと、XSS攻撃が発生する可能性があります。 esc_url_raw()
:URLをデータベースまたはURLリダイレクトに保存する場合は、この関数を使用します。 esc_url
とesc_url_raw
の違いは、esc_url_raw
がversと単一の引用符を置き換えないことです。 antispambot()
:この関数は、電子メールアドレス文字をHTMLエンティティに変換して、スパムボットをブロックします。
is_email()
is_serialized()
以上がWordPressのデータの消毒、脱出、および検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。