Bird
Raised Fist0
Wordpressframework~5 mins

Nonce verification in Wordpress - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a nonce in WordPress?
A nonce is a special token used to verify that a request comes from a trusted source, helping to protect against attacks like CSRF (Cross-Site Request Forgery).
Click to reveal answer
beginner
How do you create a nonce in WordPress?
Use the function wp_create_nonce('action_name') to generate a nonce tied to a specific action.
Click to reveal answer
beginner
Which function verifies a nonce in WordPress?
The function wp_verify_nonce($nonce, 'action_name') checks if the nonce is valid and was created for the given action.
Click to reveal answer
beginner
Why should you verify a nonce before processing form data?
Verifying a nonce ensures the form submission is genuine and prevents unauthorized or malicious requests from being processed.
Click to reveal answer
beginner
What happens if nonce verification fails in WordPress?
If verification fails, you should stop processing the request and show an error or redirect, protecting your site from potential attacks.
Click to reveal answer
Which WordPress function generates a nonce?
Awp_create_nonce()
Bwp_verify_nonce()
Cnonce_generate()
Dcreate_nonce_token()
What is the main purpose of nonce verification?
ATo prevent Cross-Site Request Forgery (CSRF)
BTo check user passwords
CTo speed up page loading
DTo encrypt data
Which function checks if a nonce is valid?
Awp_create_nonce()
Bcheck_nonce()
Cwp_verify_nonce()
Dvalidate_nonce()
When should you verify a nonce in your code?
AAfter sending emails
BBefore processing form submissions
CWhen loading images
DDuring theme activation
What should you do if nonce verification fails?
AIgnore and continue
BProcess the request anyway
CReload the page automatically
DStop processing and show an error
Explain what a nonce is in WordPress and why it is important.
Think about how websites keep forms safe from fake submissions.
You got /3 concepts.
    Describe the steps to create and verify a nonce in WordPress when handling a form submission.
    Consider what happens before showing the form and after receiving the form data.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using a nonce in WordPress?
      easy
      A. To create database backups automatically
      B. To speed up page loading times
      C. To store user preferences
      D. To protect against unauthorized actions and CSRF attacks

      Solution

      1. Step 1: Understand what a nonce is

        A nonce is a security token used to verify requests are intentional and authorized.
      2. Step 2: Identify nonce purpose in WordPress

        WordPress uses nonces to protect against CSRF (Cross-Site Request Forgery) attacks by verifying actions.
      3. Final Answer:

        To protect against unauthorized actions and CSRF attacks -> Option D
      4. Quick Check:

        Nonce = Security token for authorization [OK]
      Hint: Nonce = security check token to stop bad requests [OK]
      Common Mistakes:
      • Thinking nonce speeds up performance
      • Confusing nonce with user data storage
      • Assuming nonce creates backups
      2. Which function is used to verify a nonce in WordPress?
      easy
      A. wp_create_nonce()
      B. wp_verify_nonce()
      C. check_nonce()
      D. nonce_verify()

      Solution

      1. Step 1: Recall nonce creation function

        wp_create_nonce() is used to create a nonce, not verify it.
      2. Step 2: Identify the correct verification function

        wp_verify_nonce() is the official WordPress function to check if a nonce is valid.
      3. Final Answer:

        wp_verify_nonce() -> Option B
      4. Quick Check:

        Verify nonce = wp_verify_nonce() [OK]
      Hint: Verify nonce starts with 'wp_verify_' [OK]
      Common Mistakes:
      • Using wp_create_nonce() to verify
      • Assuming check_nonce() is a WordPress function
      • Mixing function names
      3. What will the following code output if the nonce is invalid?
      if ( ! wp_verify_nonce($_POST['my_nonce'], 'my_action') ) {
        echo 'Invalid nonce';
      } else {
        echo 'Nonce verified';
      }
      medium
      A. Nonce verified
      B. PHP error: undefined index
      C. Invalid nonce
      D. No output

      Solution

      1. Step 1: Understand wp_verify_nonce behavior

        wp_verify_nonce returns false if the nonce is invalid or missing.
      2. Step 2: Analyze the if condition

        If wp_verify_nonce returns false, the condition !false is true, so 'Invalid nonce' is echoed.
      3. Final Answer:

        Invalid nonce -> Option C
      4. Quick Check:

        Invalid nonce triggers message 'Invalid nonce' [OK]
      Hint: Invalid nonce means wp_verify_nonce returns false [OK]
      Common Mistakes:
      • Assuming invalid nonce prints 'Nonce verified'
      • Ignoring the negation (!) in the if condition
      • Expecting no output on invalid nonce
      4. Identify the error in this nonce verification code snippet:
      if ( wp_verify_nonce($_POST['nonce'], 'save_data') ) {
        // process data
      } else {
        wp_die('Security check failed');
      }
      medium
      A. No error, code is correct
      B. Missing negation (!) before wp_verify_nonce
      C. Using wp_die() instead of wp_redirect()
      D. Incorrect nonce action string 'save_data'

      Solution

      1. Step 1: Understand wp_verify_nonce return values

        wp_verify_nonce() returns truthy integer (1 or 2) if valid or previously used, false if invalid/expired.
      2. Step 2: Analyze the code logic

        if (wp_verify_nonce()) processes if truthy (valid), else wp_die() if falsy (invalid). Correct logic.
      3. Final Answer:

        No error, code is correct -> Option A
      4. Quick Check:

        if (wp_verify_nonce()) process else die [OK]
      Hint: if(wp_verify_nonce()) process; else die works [OK]
      Common Mistakes:
      • Thinking negation (!) is required
      • Assuming wp_die() is wrong here
      • Changing action string unnecessarily
      5. You want to secure an AJAX request in WordPress using a nonce. Which sequence correctly implements nonce creation and verification?
      hard
      A. Create nonce with wp_create_nonce('ajax_action') in PHP; send it via AJAX; verify with wp_verify_nonce($_POST['nonce'], 'ajax_action')
      B. Create nonce with wp_verify_nonce('ajax_action'); send it via AJAX; verify with wp_create_nonce($_POST['nonce'], 'ajax_action')
      C. Create nonce with wp_create_nonce('ajax_action') in JavaScript; verify with wp_verify_nonce($_GET['nonce'], 'ajax_action')
      D. Create nonce with wp_create_nonce('ajax_action') in PHP; no need to verify on AJAX request

      Solution

      1. Step 1: Understand nonce creation and usage

        Nonce must be created in PHP using wp_create_nonce with an action name.
      2. Step 2: Verify nonce on AJAX request

        Nonce sent via AJAX (usually POST) must be verified in PHP using wp_verify_nonce with the same action.
      3. Final Answer:

        Create nonce with wp_create_nonce('ajax_action') in PHP; send it via AJAX; verify with wp_verify_nonce($_POST['nonce'], 'ajax_action') -> Option A
      4. Quick Check:

        Nonce create in PHP, verify in PHP with same action [OK]
      Hint: Create nonce in PHP, verify in PHP with same action [OK]
      Common Mistakes:
      • Trying to create nonce in JavaScript
      • Mixing up create and verify functions
      • Skipping verification on AJAX requests
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard