![](/img/trans.png)
[英]Wordpress password how to compare user password to wordpress user table password?
[英]How to sanitize user password information in WordPress?
我正在我的 WordPress 网站上的自定义注册表单中获取用户名、电子邮件和密码。 我正在使用sanitize_user()
sanitize_email()
用户名, sanitize_user()
sanitize_email()
电子邮件地址。
例如:
$username = sanitize_user( $username );
$email = sanitize_email( $email );
我应该如何清理用户输入的密码? 我能想到的只是sanitize_text_field( $pass )
但我确定这不是正确的方法。
参考:
消毒不一定能保护您免受注射。 为了防止这种情况,您需要使用准备好的语句 - 或者在 WordPress 的情况下,使用$wpdb 类。
清理只是去除无效字符,在您上面给出的情况下,它会删除用户名中不允许的字符,或有效电子邮件地址中不允许的字符。 密码允许使用许多不同的字符类型,因为这就是它们“强大”的原因,因此您不想将它们删除。
如果您使用wp_insert_user()
创建一个 WP 用户,那么您无论如何都不需要对其进行清理,该函数将为您处理所有这些。
如前所述,您可以使用sanitize_text_field()
函数。 它可能会导致一些带有特殊字符等的疯狂密码出现问题。
不过应该没问题。
wp_insert_user()
消毒状态和过滤器关闭 (2021) WordPress 5.7
wp_insert_user()
和user_pass
默认:
wp_hash_password()
散列user_pass
。不应消毒。
wp_insert_user()
和user_login
默认:
sanitize_user()
清理user_login
。empty()
过滤user_login
。mb_strlen
过滤user_login
。 (最多 60 个字符)。username_exists()
将user_login
与用户进行比较。user_login
通过illegal_user_logins
非法用户登录。 wp_insert_user()
和user_nicename
默认情况下:
sanitize_user()
清理user_nicename
。user_nicename
通过mb_strlen
。 (最多 50 个字符)。sanitize_title()
清理user_nicename
。 wp_insert_user()
和user_email
默认情况下:
empty()
过滤user_email
。strcasecmp
将user_email
与旧的进行比较。user_email
通过email_exists()
到老。 wp_insert_user()
和user_url
, display_name
, nickname
, first_name
, last_name
, last_name
, description
,默认情况下:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.