阅读这篇伟大的文章Data Validation and Sanitization in Wordpress 我在我的博客标题中注意到了这一点。php,我用过<?php echo $title ?>
在一对代码中。
根据上述情况article, 为了保护数据安全,必须验证数据本身,因为未经验证的数据容易受到黑客的攻击。
根据作者的建议,我更改了我的首字母<?php echo $title ?>
进入<?php echo esc_html( $title ); ?>
.
这是更改之前的代码:
<span class="ads">
<?php
if ( is_user_logged_in() ) {
echo \'<span><a href="/?page_id=175" title="inserisci un annuncio gratis">Pubblica il tuo annuncio gratis: è facile e veloce!</a></span>\';
} else {
echo \'<span><a class="simplemodal-login simplemodal-submit" href=""><?php echo $title ?>Pubblica il tuo annuncio gratis: è facile e veloce!</a> </span>\';
}
?>
</span>
这是更改后的代码:
<span class="ads">
<?php
if ( is_user_logged_in() ) {
echo \'<span><a href="/?page_id=175" title="inserisci un annuncio gratis">Pubblica il tuo annuncio gratis: è facile e veloce!</a></span>\';
} else {
echo \'<span><a class="simplemodal-login simplemodal-submit" href=""><?php echo esc_html( $title ); ?>Pubblica il tuo annuncio gratis: è facile e veloce!</a> </span>\';
}
?>
</span>
现在我的问题是(我想这是个新手!)我所做的更改有利于我的博客的安全?
<小时>
SO网友:Tom J Nowell
在articles案中,$title
是一个任意值,因此它应该通过html转义,但是,如果它是从WordPress核心函数获得的,那么它可能是安全的,但无论如何都应该检查
例如get_the_title()
可以包含html标记,默认情况下不会转义。
其他帖子和页面标题中不应包含html。样式是针对主题的,而不是针对内容的。
您应该在输入时验证所有数据,这是您应该集中精力的地方。您所做的工作提高了您的安全性,但提高的程度取决于数据来自何处。
我建议您避开关于输入和输出的所有数据,但这样做是出于习惯,而不是针对特定的例外情况