您应该(如果有)提交您正在使用的代码,即使只是一个片段,这样我们就可以根据您的问题评估您的流程。
然而,简单的答案是YES, 这很安全,只要你,
- prevent input fields being displayed on user profile page for certain user roles
- prevent unauthorized users from saving user meta to the database
首先:
如果用户配置文件页面上的特定用户角色隐藏了与用户元数据相关的输入字段,则;攻击者“;需要
guess 什么
meta_key
用于他们希望填充的字段<祝你好运
其次:
如果他们能够猜到
meta_key
在这个问题上,他们需要运行与
update_user_meta
或
add_user_meta
. 他们唯一能做的就是,
他们可以查看输入字段,您无法通过条件语句检查用户功能。。。这将允许用户保存或编辑那些用户元字段,否则这些字段将被隐藏,不会添加/呈现到屏幕上的请求中。
我们假设,
您没有为用户提供其他方式来运行他们自己选择的任意脚本。。。这首先降低了发生攻击的风险。
首先,将与在中添加或编辑用户元数据相关的函数包装在current_user_can
作用
if ( current_user_can(\'edit_users\') ) {
//show input fields function
//allow input fields to be updated function
}
这将检查当前用户是否可以
edit_users
哪一个
by default is only available to Super Administrators and Administrators 除非您另外允许您选择的其他用户角色使用此功能。
这并不是您希望进行的唯一检查,但出于安全考虑,这肯定是更重要的检查之一。