Lý do cho tên người dùng chữ thường


7

Tôi có thể thấy validate_user()các cuộc gọi sanitize_user()với đối số chặt chẽ là đúng, điều đó có nghĩa là chữ in hoa cũng không được phép.

Trong mã nguồn, tôi tìm thấy nhận xét này

// If strict, reduce to ASCII for max portability.
    if ( $strict )
        $username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );

Tôi muốn biết làm thế nào điều này ảnh hưởng đến tính di động?


Công cụ isửa đổi trong mẫu regex làm cho nó không phân biệt chữ hoa chữ thường, chỉ là thứ cần lưu ý.
t31os

Vậy regex này thực sự làm gì ở đây?
Ashfame

1
Thay thế bất cứ thứ gì không phải az (trên hoặc dưới), 0-9 (tức là bất kỳ số nào), dấu gạch dưới, dấu
chấm

Vậy làm thế nào để chặn bảng chữ cái in hoa sau đó? : S
Ashfame

1
@Ashfame: thực ra, hàm không chặn chữ hoa. Trong phần bình luận ở trên các hàm, WP viết: "Nếu $rict là đúng, chỉ các ký tự chữ và số (cũng như _, dấu cách,., -, * @) được trả về.". Điều đó có nghĩa là chữ hoa được chấp nhận. Trên thực tế, tôi có một WP nơi tôi có tên người dùng với chữ hoa và không có vấn đề gì cả.
Anh Trần

Câu trả lời:


7

Các ký tự in hoa không bị chặn trong tên người dùng trên các thiết lập trang web đơn.

Các ký tự in hoa bị chặn trong tên người dùng trên các thiết lập nhiều trang. Hàm wpmu_validate_user_signup chỉ ép chữ thường az và các số 0-9.


2

Nếu bạn không cho phép người dùng đăng ký trang web, bạn có thể vô hiệu hóa hạn chế 'chữ hoa' từ cài đặt MS, chỉ cần thêm vào tệp tin function.php của chủ đề:

remove_action( 'sanitize_user', 'strtolower' );

1

Thực tế, tôi cho rằng nó sẽ như vậy để bạn có thể sử dụng kết quả của validate_user trong một URL hoặc chuỗi $ _GET. Tôi chắc chắn còn nhiều lý do khác nữa, tôi đoán tôi không biết ý nghĩa của chúng bằng tính di động tối đa ...


vâng, tôi muốn biết về điều này ảnh hưởng đến tính di động. bất cứ điều gì khác như một biến từ URL có thể được cấu hình để chuyển đổi thành chữ thường và sau đó làm cho nó hoạt động. Một chút công việc thêm, nhưng sẽ làm việc.
Ashfame
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.