如何正确清理UPDATE_OPTION()的字符串

时间:2011-07-13 作者:N2Mystic

我尝试通过update\\u options($name,$value)导入选项值,其中$value有特殊字符(例如撇号),我注意到撇号在到达数据库之前会从文本中去除。

在将字符串发送到update\\u options()之前,建议对其进行哪些清理?

3 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

尝试esc_html( $string ) (Codex ref), 其中包括对单引号和双引号进行编码。

有关更多参考,请参阅Data Validation 法典中的条目。

SO网友:Chris Flannagan

对于进入数据库的数据,不应使用esc函数。esc功能仅用于输出。

update\\u option()函数为您进行清理,因此无需运行任何额外的san函数。

SO网友:ARWVISIONS

我不能对克里斯·弗兰纳根的回答发表评论,所以。。。update\\u options()不会清理所有选项。某些核心选项已清理,但自定义选项未清理。您必须自己清理输入。

https://www.wordfence.com/blog/2018/11/xss-injection-campaign-exploits-wordpress-amp-plugin/

结束

相关推荐

Can't save options

我使用设置API创建了主题选项页面,一切正常,但我无法保存选项。我试图找出我错过了什么,但我失败了。知道是什么导致了这个问题吗?这是我的选项页面的代码<?php /** * This functions registers default options values for Evolutionary theme * settings */ function ev_theme_settings_defaults() { $options