Bảo mật wordpress khi sử dụng ajax với wordpress nonce



WordPress nonce là gì? Nonce là một con số được sử dụng một lần. Việc sử dụng nonce trong wordpress giúp cho URL và form được bảo vệ từ các đối tượng hackers muốn tấn công hoặc chèn mã độc vào trong URL, form và gửi tới website của bạn. WordPress nonce không phải là một con số, nó là một mã hash của những con số và ký tự. Mặc dùng nó không được sử dụng duy nhất 1 lần nhưng nó có giới hạn (thời gian sống). Và sau khi hết hạn, nó sẽ được tạo mới để sử dụng.

Xem thêm: https://caodatblog.com/tu-tao-phan-trang-chuyen-nghiep-trong-wordpress/

Tạo mới wordpress nonce

Bạn sẽ cần sử dụng nonce trong một số trường hợp như sử dụng url request, ajax request hoặc form request. Trong wordpress có hỗ trợ một số cách tạo nonce như sau:

Tạo nonce cho URL

Để tạo mới nonce cho URL, bạn sử dung hàm wp_nonce_url(). Cú pháp sử dụng như sau

Mặc định hàm này sẽ tạo ra filed name cho url với là _wpnonce. Bạn cũng có thể đặt tên field name theo ý muốn bằng cách sau:

my_name chính là field name bạn tự đặt

Tạo nonce cho form

Để tạo nonce cho form bạn sử dụng hàm wp_nonce_field() . Khi sử dụng hàm này, hệ thống sẽ trả ra 2 trường input như sau

Tạo nonce bằng cách khác

Ngoài 2 cách tạo nonce ở trên, bạn cũng có thể sử dụng hàm wp_create_nonce() để tạo nonce. Cú pháp như sau

Kiểm tra none khi thực hiện request

Bạn có thể kiểm tra none trong URL, trong form của màn hình admin hoặc ajax,..

Kiểm tra none trong màn hình admin

Để kiểm tra none trong màn hình admin. Bạn sử dụng hàm check_admin_referer() Cú pháp sử dụng như sau

Hoặc truyền tên field của nonce vào nếu bạn đặt tên field của none

Kiểm tra nonce trong ajax request

Khi bạn tạo một request bằng ajax thì hãy kiểm tra none bằng hàm check_ajax_referer(). Cú pháp như sau:

Kiểm tra nonce bằng cách khác

Ngoài 2 trường hợp trên thì bạn cần kiểm tra none bằng cách sau trong một số trường hợp

Tóm lại nonce trong wordpress được tạo ra để nâng cao sự bảo mật cho website của bạn trong một số trường hợp. Khi code theme hay plugin cho wordpress thì bạn cần phải đặc biệt lưu ý vấn đề này. Nếu bạn muốn code plugin hoặc theme và đưa nó lên wordpress.org thì bạn cần phải đảm bảo việc sử dụng none trong các trường hợp trên. Khi bạn không tuân thủ nó thì wordpress sẽ không chấp thuận việc xuất bản plugin hoặc theme của bạn

Chúc các bạn thành công

Bình luận

Bài viết cùng chuyên mục