Esc_html__security:在本例中用于什么?

时间:2012-03-19 作者:Paul

如何esc_html__ (第二个)保护$message 被黑客攻击的变量?在这里使用这种保护有什么意义(第二种是纯文本保护)?

<?php

function unknown(){

    /* If the user input any text, escape it. */
    if ( !empty ( $_POST[\'unknown\'] ) )
        $message = esc_html ( $_POST[\'unknown\'] );

    /* If no text was input, use a default, translated message. */
    else 
        $message = esc_html__( \'No message input by the user.\', \'unknown\' );

    return $message;
}

?>
谢谢

2 个回复
最合适的回答,由SO网友:DM. 整理而成

在那种情况下,它真的没有多大作用。如果要将该消息作为字符串常量而不是系统或用户生成的内容保留,则可以使用其他转换函数之一:__()_x(). esc_html__() 对于那一行代码来说有点过头了。

Edit:

主要原因是esc_ 其功能是保护您的网站免受故意或意外的错误输入。您将要使用appropriate function 无论何时处理任何可由用户操纵或未明确设置的数据。

如果您将来对WP功能有任何疑问,我建议您检查来源。在WP安装中进行搜索以找到该功能,或者单击codex页面底部链接到源文件的链接。

SO网友:scribu

防止安全漏洞的一个主要原则是“晚点逃跑”这意味着,理想情况下,esc_html()esc_attr() 应该在回显或返回最终HTML时使用,而不是在之前。所以,你举的例子有一点是错的。

至于目的esc_html__(), 据我所知,这是为了防止翻译字符串中的奇怪字符(而不是您在代码中看到的原始字符)弄乱文本区域等。

结束

相关推荐

Security and .htaccess

大约一个月前,我在一个与爱好相关的托管服务器上创建了一个WordPress博客。所以,我目前还不熟悉这一点。由于我担心安全性,我做的一件事就是安装插件WP安全扫描。根据插件结果,我的网站会被检查出来,但我在结果中看到的是一个红旗:文件。wp admin中不存在htaccess/(我在那里ssh了,它不存在)好的,所以我在这个问题上做了大量的搜索,找到了太多的信息。htaccess。我在WordPress上经历了强化WordPress。org网站等,也遇到了这篇文章:http://digwp.com/201