像UPDATE_POST_META这样的默认函数使用用户输入安全吗?

时间:2016-06-05 作者:Diganthaya

默认功能如下update_post_meta() 使用用户输入是否安全?

e、 g。

update_post_meta(76, \'my_key\', $_GET[\'value\'])
或者我应该使用

$_GET[\'value\'] = sanitize_text_field($_GET[\'value\']);
使用前

update_post_meta(76, \'my_key\', $_GET[\'value\'])

2 个回复
SO网友:Mark Kaplun

在投票后@pieter的答案。。。。

最近,我意识到,在使用“坏”数据时(通常意味着转义,但也意味着验证),要比在输入时优雅地处理好得多。数据损坏的发生不仅是因为对数据进行了一些胭脂处理“拉屎”,而且还因为环境发生了变化,数据不再相关(插件被禁用)。

如果您要向用户发出一些警报,那么验证是值得的,否则它实际上可能是一种中间状态,很难防范并提供有用的反馈(customizer live changes)。

对于卫生设施,我只是使用wordpress API访问DB,并让他们处理这方面的问题,但除此之外,我觉得做更多的事情通常是浪费时间。

这一切都取决于上下文。在您的情况下,您应该问的问题是您是否甚至想要清理该值,因为清理意味着用户请求的值将不会以他希望的方式显示。

SO网友:Pieter Goosen

永远不要把任何事情留给偶然,总是清理、逃避和验证all 来自表单和超全局的数据,如$_GET$_POST 根据您的要求和预期的数据类型。

以某种方式设置代码总是很好的,这样在验证失败时,就不会不必要地运行脚本和函数。有某种故障保护装置,可以正确处理故障

相关推荐

WordPress security

我通过wordpress为我的客户创建了一个网站,并将其上传到他们的服务器上。。我们假设用户可以访问整个服务器。。是否可以通过在数据库中编辑管理员密码或添加需要我权限的脚本来保护此网站不被其他服务器使用。