是否使用设置API验证值?

时间:2014-06-09 作者:jay

我正在使用设置API为插件创建选项。我是否需要验证安全性的输入值(例如stripslashes等)?(我在大多数教程中都找不到这一部分)。下面是我正在做的:

<form method="post" action="options.php">
    <?php
        settings_fields( \'sandbox_theme_display_options\' );
        do_settings_sections( \'sandbox_theme_display_options\' );
        submit_button();            
    ?>
</form> 

function sandbox_initialize_theme_options() {
    add_settings_section(
        \'general_settings_section\',         
        __( \'Display Options\', \'sandbox\' ),
        \'sandbox_general_options_callback\',
        \'sandbox_theme_display_options\'
    );

    add_settings_field( 
        \'show_header\',
        __( \'Header\', \'sandbox\' ),
        \'sandbox_toggle_header_callback\',
        \'sandbox_theme_display_options\',
        \'general_settings_section\',
        array(
            __( \'Activate this setting to display the header.\', \'sandbox\' ),
        )
    );

register_setting(
        \'sandbox_theme_display_options\',
        \'sandbox_theme_display_options\'
    );

}
add_action( \'admin_init\', \'sandbox_initialize_theme_options\' );

1 个回复
SO网友:jocken

不,您不需要验证/清除/转义,因为wordpress中存在安全缺陷。Wordpress使用prepared statements 默认情况下。

但是,您可以自己验证内容是否符合预期。例如,如果您只需要可以使用的数字is_numeric()is_float(). 或者将输入值与预定义字符串的数组相匹配。

结束

相关推荐

WP_LOCALIZE_SCRIPT与WordPress中的mce_外部_plugins

我不确定这是否可能。我可以使用wp_localize_script 具有mce_external_plugins 滤器我想向tinymce插件脚本发送一个变量。例如:add_filter( \"mce_external_plugins\", array( &$this, \'add_test_plugin\' ) ); public function add_test_plugin( $plugin_array ){ global $pagenow;&#