ここで助けが必要です。
テーマを作成しながら、セキュリティ上の問題がないことを確認したいと思います。したがって、すべての動的データは、それがレンダリングされるコンテキストに対して正しくエスケープする必要があります。
私は次のことを免れる方法を知っています。
esc_attr
を使用してください。sanitize_html_class
を使用してください。esc_html
を使用します。esc_html__
、esc_html_e
、esc_attr_e
などを使用してください。しかし、どうすればよいかわからない部分が2つあります。
例:
<?php $subtitle = get_post_meta($post_id,'subtitle', true); ?>
<h3 class="subtitle"><?php echo $subtitle; ?></h3>
"wp_ksesは高価な関数なので、データが保存されたときにだけ実行され、表示されないことを確認してください。" Proof here
例:
<style type="text/css"><?php echo $css; ?></style>
コアとなることを確認しましょう。
default-filters.php
には、コンテンツ出力が通過するものがあります。
add_filter( 'the_content', 'wptexturize' );
add_filter( 'the_content', 'convert_smilies' );
add_filter( 'the_content', 'convert_chars' );
add_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'shortcode_unautop' );
add_filter( 'the_content', 'prepend_attachment' );
これらのどれも実際に専用のセキュリティ/エスケープ機能ではありません。
これはコメントについても似ています。これは、ランダムな訪問者からのもので、半信頼のサイト作成者でもありません。
add_filter( 'comment_text', 'wptexturize' );
add_filter( 'comment_text', 'convert_chars' );
add_filter( 'comment_text', 'make_clickable', 9 );
add_filter( 'comment_text', 'force_balance_tags', 25 );
add_filter( 'comment_text', 'convert_smilies', 20 );
add_filter( 'comment_text', 'wpautop', 30 );
一言で言えば、それは 合理的に 信頼できるものであり、提出物についてスクラブされ、データベースから戻ってきたものです。