我需要转义Get_the_Password_Form函数吗?

时间:2019-01-10 作者:Md Abul Bashar

我之前看到过他们。org表示,所有WordPress默认获取函数都需要转义输出,以用于WordPress主题或插件开发的安全区域,现在我想显示密码表单,如果帖子有密码保护。现在我使用get\\u the\\u password\\u form()函数。现在我需要知道这个函数我需要转义吗?

如果回答是,请帮助我,我如何才能退出此功能?如esc\\u html()或esc\\u url()等。我需要使用哪个函数进行转义?

这是最前面的Requirements

这是我的密码

<div class="single-blog-content">
   <?php 
        if(post_password_required()) { 
            echo get_the_password_form( );                              
        }else {
            the_excerpt(); 
        }
    ?>
</div>

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

在你的代码中没有什么可以逃避的。

假设给定的函数只返回纯文本,不允许使用HTML实体。例如,您希望显示搜索查询字符串。

在这种情况下,您应该使用esc_html.

这样,如果用户将<b>ala</b> 作为搜索字符串,您的站点将准确打印该字符串。

如果您在打印之前不转义该字符串,它将被视为HTML代码,您将看到粗体字ala 只有

但是您必须根据上下文使用适当的函数进行转义。

因此:

<h1>You’re looking for: <?php echo esc_html( get_query_var( \'s\' ) ); ?></h1>
但是:

<input name="s" value="<?php echo esc_arg( get_query_var( \'s\' ) ); ?>"/>
那么,让我们回到您的代码。。。

get_the_password_form()
应该显示HTML标记,并且它们应该被浏览器作为HTML代码处理-所以您不能逃避它。如果您愿意,您将看到一个包含HTML标记而不是表单的字符串。

相关推荐

是否有必要清理wp_set_password用户输入?

我正在尝试向WP注册表添加密码表单。请参见下面的代码。我想知道是否需要清理这个特定的用户输入?(如果是,怎么做?)如果我理解正确,WP为某些东西内置了净化功能,密码可能就是其中之一。对吗?WP会在将其添加到数据库之前自动对其进行清理吗?add_action( \'register_new_user\', \'registration_change_pass\', 10, 99 ); function registration_change_pass( $user_id ) { &