1. sanitize_text_field()
使用场景:在 WordPress 开发中,通常会接收用户输入的文本数据,如用户名、评论内容等。这些数据需要经过过滤,以确保其中的文本是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$user_input = $_POST['username'];
$sanitized_input = sanitize_text_field($user_input);
2. sanitize_email()
使用场景:在 WordPress 开发中,通常会接收用户输入的电子邮件地址,如注册、找回密码等。这些数据需要经过过滤,以确保其中的地址是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$user_input = $_POST['email'];
$sanitized_input = sanitize_email($user_input);
3. sanitize_file_name()
使用场景:在 WordPress 开发中,通常会涉及文件上传和下载。文件名需要经过过滤,以确保其中的文件名是安全的,不会被用于进行文件包含等安全攻击。
示例代码:
$file_name = $_FILES['file']['name'];
$sanitized_file_name = sanitize_file_name($file_name);
4. sanitize_key()
使用场景:在 WordPress 开发中,通常会涉及数据存储和读取。键名需要经过过滤,以确保其中的键名是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$data = get_option('my_option');
$sanitized_data = $data[sanitize_key('my_key')];
5. sanitize_meta()
使用场景:在 WordPress 开发中,通常会涉及元数据的存储和读取。元数据需要经过过滤,以确保其中的数据是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$meta_value = get_post_meta($post_id, 'my_meta_key', true);
$sanitized_meta_value = sanitize_meta('my_meta_key', $meta_value, 'post');
6. sanitize_mime_type()
使用场景:在 WordPress 开发中,通常会涉及文件上传和下载。MIME 类型需要经过过滤,以确保其中的类型是安全的,不会被用于进行文件包含等安全攻击。
示例代码:
$file_type = $_FILES['file']['type'];
$sanitized_file_type = sanitize_mime_type($file_type);
7. sanitize_option()
使用场景:在 WordPress 开发中,通常会涉及数据存储和读取。选项需要经过过滤,以确保其中的数据是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$option_value = get_option('my_option');
$sanitized_option_value = sanitize_option('my_option', $option_value);
8. sanitize_sql_orderby()
使用场景:在 WordPress 开发中,通常会涉及数据库查询。SQL ORDER BY 语句需要经过过滤,以确保其中的语句是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$order_by = $_GET['orderby'];
$sanitized_order_by = sanitize_sql_orderby($order_by);
9. sanitize_textarea_field()
使用场景:在 WordPress 开发中,通常会接收用户输入的文本数据,如文章、评论等。这些数据需要经过过滤,以确保其中的文本是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$user_input = $_POST['comment'];
$sanitized_input = sanitize_textarea_field($user_input);
10. wp_filter_post_kses()
使用场景:在 WordPress 开发中,通常会涉及文章内容的显示和编辑。文章内容需要经过过滤,以确保其中的 HTML 标签是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$content = get_post_field('post_content', $post_id);
$sanitized_content = wp_filter_post_kses($content);
11. wp_filter_kses()
使用场景:在 WordPress 开发中,通常会接收用户输入的文本数据,如评论、自定义字段等。这些数据需要经过过滤,以确保其中的 HTML 标签是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$user_input = $_POST['comment'];
$sanitized_input = wp_filter_kses($user_input);
12. wp_filter_nohtml_kses()
使用场景:在 WordPress 开发中,通常需要去掉文本中的所有 HTML 标签和属性,以确保其中的文本是纯文本。
示例代码:
$content = get_post_field('post_content', $post_id);
$sanitized_content = wp_filter_nohtml_kses($content);
13. wp_kses()
使用场景:在 WordPress 开发中,通常需要过滤文本内容,只保留指定的 HTML 标签和属性,以确保其中的 HTML 标签是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$content = get_post_field('post_content', $post_id);
$allowed_tags = array('p', 'a', 'img');
$sanitized_content = wp_kses($content, $allowed_tags);
14. wp_kses_data()
使用场景:在 WordPress 开发中,通常需要过滤文本内容,确保其中的 HTML 标签和属性是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$content = get_post_field('post_content', $post_id);
$sanitized_content = wp_kses_data($content);
15. wp_kses_post()
使用场景:在 WordPress 开发中,通常需要过滤文本内容,确保其中的 HTML 标签是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$content = get_post_field('post_content', $post_id);
$sanitized_content = wp_kses_post($content);
16. wp_kses_array_lc()
使用场景:在 WordPress 开发中,通常需要过滤数组中的所有元素,确保其中的 HTML 标签是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$data = array('a' => '<script>alert("XSS");</script>', 'b' => '<p>hello</p>');
$sanitized_data = wp_kses_array_lc($data);
17. wp_strip_all_tags()
使用场景:在 WordPress 开发中,通常需要去掉文本中的所有 HTML 标签,以确保其中的文本是纯文本。
示例代码:
$content = get_post_field('post_content', $post_id);
$sanitized_content = wp_strip_all_tags($content);
18. esc_html()
使用场景:在 WordPress 开发中,通常需要将 HTML 标签中的特殊字符进行转义,以确保标签不会被解析为 HTML。
示例代码:
$content = '<p>hello, world!</p>';
$escaped_content = esc_html($content);
19. esc_attr()
使用场景:在 WordPress 开发中,通常需要将 HTML 属性中的特殊字符进行转义,以确保属性值不会被解析为 HTML。
示例代码:
$attr_value = 'hello, world!';
$escaped_attr_value = esc_attr($attr_value);
20. esc_url()
使用场景:在 WordPress 开发中,通常需要将 URL 中的特殊字符进行转义,以确保 URL 是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$url = 'http://example.com/?q=<script>alert("XSS");</script>';
$escaped_url = esc_url($url);
21. esc_js()
使用场景:在 WordPress 开发中,通常需要将 JavaScript 代码中的特殊字符进行转义,以确保代码是安全的,不会被用于进行跨站脚本攻击(XSS)等安全攻击。
示例代码:
$js_code = 'alert("XSS");';
$escaped_js_code = esc_js($js_code);
22. esc_sql()
使用场景:在 WordPress 开发中,通常需要将 SQL 查询语句中的特殊字符进行转义,以确保查询语句是安全的,不会被用于进行 SQL 注入等安全攻击。
示例代码:
$user_input = $_POST['username'];
$sanitized_input = esc_sql($user_input);