簡體   English   中英

如何清理 WordPress 中的用戶密碼信息?

[英]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_insert_user()user_login默認:


wp_insert_user()user_nicename默認情況下:


wp_insert_user()user_email默認情況下:

  • 沒有明顯的消毒。
  • 通過empty()過濾user_email
  • 通過strcasecmpuser_email與舊的進行比較。
  • 比較user_email通過email_exists()到老。

wp_insert_user()user_urldisplay_namenicknamefirst_namelast_namelast_namedescription ,默認情況下:

  • 沒有明顯的消毒。
  • 沒有明顯的過濾器。
  • 沒有明顯的比較。

來源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM