<script>document.cookie = "humans_21909=1"; document.location.reload(true)</script>
Asked Answered
C

8

21

web API build with wordpress is showing error of

<script>document.cookie = "humans_21909=1"; document.location.reload(true)</script>

it works sometime on some network and sometime not working

Costmary answered 30/4, 2019 at 6:43 Comment(4)
facing same issue with wp rest api for nonce and register api plugin used Json API UserCapitol
What is the http status of the response and which hosting provider are you using?Rotund
@SagarBahadurTamang We are using hosting of hostgator and status code is 409 conflicts Note: We are using sub domain one of our webisteCostmary
Bluehost users: if your URL has a 'register' word, change it. the problem will be solved.Thrips
R
11

First of all, clone the website using the All In One WP Migration to your local development machine. Then, check the REST API, if the same error persists. It means you have some error in your code. In my case, the REST API works perfectly fine in my local machine but shows the same HTTP 409 conflict. I contacted with the Bluehost support. They told me they have some mod_security issues. After 2 3 days, they fixed it. It worked fine after that.

Rotund answered 8/5, 2019 at 7:22 Comment(1)
Thanks let me try thisCostmary
C
22

I got same response for an API ending with api/register , then i change the name /register to /new_registerthen issue solved,

I think register in url is the reason for this error

Conclusive answered 27/11, 2019 at 11:16 Comment(5)
It works perfectly @YasirPoongadan. What might be the reason tho ?Levkas
changing register works perfectly. I have recently changed my host to Bluehost and this problem is only for Bluehost users I think.Thrips
Same with me. Changed from register to registration. I think mod_security has flagged certain urls like register,contactMuleteer
Exactly, every other endpoint works fine except the register endpoint!!!Metachromatism
Wow, I was pulling my hair out. Ran into this issue just in the last few months using phpmailer hosted on Bluehost with an AJAX url: "php/mail.php. After I changed it to "php/omail.php" all is well. TY.Monomer
R
11

First of all, clone the website using the All In One WP Migration to your local development machine. Then, check the REST API, if the same error persists. It means you have some error in your code. In my case, the REST API works perfectly fine in my local machine but shows the same HTTP 409 conflict. I contacted with the Bluehost support. They told me they have some mod_security issues. After 2 3 days, they fixed it. It worked fine after that.

Rotund answered 8/5, 2019 at 7:22 Comment(1)
Thanks let me try thisCostmary
C
6

I ran into the same Problem and below are the two json api have issues which are using Json API User Plugin.

http://example.com/api/get_nonce/?json=get_nonce&controller=user&method=register

http://example.com/api/user/register/?username=eww_test&[email protected]&display_name=John&notify=both&seconds=100&insecure=cool

Then i move whole site to localhost and check APIs and they were working fine so i contacted host in my case hostgator.

They suggested to disable mod_security for that domain which was subdomain in my case.

And The issue has been resolved.

Tested and worked well

Capitol answered 10/5, 2019 at 7:59 Comment(1)
Are you using Shared Hosting of Hostgator ?Alie
A
5

I am facing same issue while loading image. My image name is contact-desktop.png and contact-display-mob.png

My cpanel hosting provider block name which contain words like contact or register. So I renamed that file and it is working perfectly.

Araceli answered 16/6, 2020 at 7:51 Comment(1)
It worked with me after hours of working Thank you!!!Marquis
J
1

At times this error occurs when you name you folder or files a reserved or blocked name.

In my case I named a folder contact, turns out the name was blocked from being used as folder names.

When testing my script on postman, I was getting this error:

<script>
    document.cookie = "humans_21909=1"; document.location.reload(true)
</script>

I changed the folder name from contact to contacts and it worked. The error was gone.

Jeanette answered 29/12, 2020 at 13:48 Comment(2)
thanks, it's 2024, I changed "contact.php" to another name and it solved my error 👍Picklock
Wow, after 4 years 😂😂😂 I'm glad it did help.Jeanette
K
1

I had the same issue, I was hosting on bigrock.in.

In my case, the issue that my hosting provider said was the user's IP was blacklisted.

You can do a blacklist IP check from here https://mxtoolbox.com

Krystynakshatriya answered 28/5, 2021 at 11:47 Comment(0)
M
0

I ran into the same issue as mentioned above. In my situation I was hosting a website on bluehost, which used contact.php to send an e-mail according to the contact-form on the website.

My contact form looked like this:


                        <div class="col-md-7 contact-form wow animated fadeInLeft">
                            <form id="contact-form" role="form" onsubmit="formSubmit(event)">
                                <div class="input-field">
                                    <input id="name" type="text" required name="name" class="form-control" placeholder="Your Name...">
                                </div>
                                <div class="input-field">
                                    <input id="email" type="email" required name="email" class="form-control" placeholder="Your Email...">
                                </div>
                                <div class="input-field">
                                    <input type="text" name="subject" class="form-control" placeholder="Subject...">
                                </div>
                                <div class="input-field">
                                    <textarea id="message" name="message" class="form-control" placeholder="Messages..."></textarea>
                                </div>
                                <button type="submit" id="submit" class="btn btn-blue btn-effect">Send</button>
                            </form>
                            <div id="form-success-message" class="form-success-message alert alert-success alert-dismissible" role="alert">
                                <h4 class="alert-heading">Thank you for contacting us!</h4>
                                <hr>
                                <p></p>
                                <strong>The form was submitted successfully.</strong>
                                <br>In a few minutes you will receive an e-mail confirming that your question was sent successfully.
                                <br>Our team will contact you soon!
                                <br>        
                                <br>In case the confirmation e-mail would not arrive within the next hours, verify that the email is not in your SPAM folder, or please contact us directly (****@******.tech).
                                
                                <button onclick="document.getElementById('form-success-message').style.display = 'none';" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close form submitted message"></button>
                              </div>
                              <div id="form-no-success-message" class="form-no-success-message alert alert-danger alert-dismissible" role="alert">
                                <h4 class="alert-heading">Oeps, something went wrong</h4>
                                <hr>
                                <p></p>
                                <strong>The form was not submitted.</strong>
                                <br>Please try again later, or contact us directly via e-mail (******@******.tech) or via WhatsApp.
                                <button onclick="document.getElementById('form-success-message').style.display = 'none';" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close form submitted message"></button>
                              </div>
                        </div>

The script on my index.html page looked like this:

        <script>
            // Function responsible for sending the e-mail via the message contact form.
            // At the moment the message contact form is submitted, it tries to fetch a php function
            // in case the php function is not working, it will return a response from which the ok is false.
            // Otherwise, it should return a possitive ok.
            // FYI: function does not return a inscanceof error for now.
            //
            // In case no errors are thrown, the website will display a form success message
            // In case the ok response from the php form is negative, a form no success message is displayed.
            function formSubmit(event) {
    
                /* Prevent button causing default browser submit */
                event.preventDefault();
    
                /* Get form element */
                const form = document.getElementById('contact-form');
    
                /* Create form data object from form element which contains post data */
                let formData = new FormData(form);
    
                /* Issue "ajax request" to server. Change /post-to-url to the appropriate 
                url on your server */
                fetch('/contact.php', {
                    body: formData,
                    method: "post"
                })
                .then(function(response) {
                    
                    if(!response.ok){
                        document.getElementById('form-no-success-message').style.display = 'block';
                        document.getElementById('contact-form').reset();
                    }else{
                        document.getElementById('form-success-message').style.display = 'block';
                        document.getElementById('contact-form').reset();
                    }

                })
                .catch(function(error) {
                    console.log('Error', error);
                });
    
    
        }

        </script>

The file contact.php looked like this:

<?php
if(!isset($_POST['submit']))
{
//This page should not be accessed directly. Need to submit the form.
    echo "error; you need to submit the form!";
}

//setting the variables
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];

//Validate first
if(empty($name)||empty($visitor_email)) 
{
    echo "Name and email are mandatory!";
    exit;
}

if(IsInjected($visitor_email))
{
    echo "Bad email value!";
    exit;
}

//variables for the e-mail to client
$email_from = '***@******.tech';//<== update the email address
$email_subject = "New message via your website contact form";
$email_body = "You have received a new message from the following website visitor (name): $name.\n\nThe visitor used the e-mail address: $visitor_email\n\nThe content of the message is: \n\n $message.";

//variables for the confirmation e-mail to website user
$confirmation_email_subject = "We received your question!";

$confirmation_email_body = "We have received the following message from you via our contact form on our website *****.tech: \n\n Your name: $name.\n\n Your e-mail: $visitor_email\n\n Your message: \n\n $message. \n\nWe will get in contact as soon as possible! If you would not receive an answer in the coming 2 weeks, don't hesitate to contact us via:*****@*****.tech. \n\n This is an automated e-mail. We haven't read your question yet. This is merely a confirmation of the recieval.";

//e-mail of client
$to = "****@*******.tech";//<== update the email address
$headers = "From: $email_from \r\n";

//headers for confirmation
$confirmation_headers = "From: *****@******.tech"; //<== update the email address

//Send the email!
mail($to,$email_subject,$email_body,$headers);
mail($visitor_email,$confirmation_email_subject,$confirmation_email_body,$confirmation_headers);




// Function to validate against any email injection attempts
function IsInjected($str)
{
  $injections = array('(\n+)',
              '(\r+)',
              '(\t+)',
              '(%0A+)',
              '(%0D+)',
              '(%08+)',
              '(%09+)'
              );
  $inject = join('|', $injections);
  $inject = "/$inject/i";
  if(preg_match($inject,$str))
    {
    return true;
  }
  else
    {
    return false;
  }
}
   
?> 

After hosting on bluehost, things worked for 5 minutes. Then I started receiving errors. More specifically, on submitting the form, I received a 409 error, containing:

<script>document.cookie = "humans_21909=1"; document.location.reload(true)</script>

I did some research, and found this page: https://www.geminigeeks.com/bluehost-blocking-contact-form-7-submissions-409-conflict-error/

At the bottom of the page you will read:

This issue still exists. If visitor’s IP is blacklisted, URL with the word “contact” will give 409 error. The plugin author of Contact Form 7 could solve the issue by renaming folders/files and any API calls, from “contact” to “kontact”.

So I changed the PHP file to kontact.php.

And then changed in my script the reference:

        <script>
            // Function responsible for sending the e-mail via the message contact form.
            // At the moment the message contact form is submitted, it tries to fetch a php function
            // in case the php function is not working, it will return a response from which the ok is false.
            // Otherwise, it should return a possitive ok.
            // FYI: function does not return a inscanceof error for now.
            //
            // In case no errors are thrown, the website will display a form success message
            // In case the ok response from the php form is negative, a form no success message is displayed.
            function formSubmit(event) {
    
                /* Prevent button causing default browser submit */
                event.preventDefault();
    
                /* Get form element */
                const form = document.getElementById('contact-form');
    
                /* Create form data object from form element which contains post data */
                let formData = new FormData(form);
    
                /* Issue "ajax request" to server. Change /post-to-url to the appropriate 
                url on your server */
                fetch('/kontact.php', { *<===== changes here*
                    body: formData,
                    method: "post"
                })
                .then(function(response) {
                    
                    if(!response.ok){
                        document.getElementById('form-no-success-message').style.display = 'block';
                        document.getElementById('contact-form').reset();
                    }else{
                        document.getElementById('form-success-message').style.display = 'block';
                        document.getElementById('contact-form').reset();
                    }

                })
                .catch(function(error) {
                    console.log('Error', error);
                });
    
    
        }

        </script>

After that my contact form started working on bluehost.

Mandy answered 9/8, 2022 at 10:52 Comment(0)
I
0

I also got the same error, I was getting error code 409 conflicts and an error message :

<script> document.cookie = "humans_21909=1"; document.location.reload(true) </script>

So in my case issue was because my API name is register.php and it was giving an error on mac os, not on windows. So I renamed the API regsiter.php to registerApi.php and it solved the issue.

If you are also using any reserved name for your API name or any method try changing it. Hope it will help.

Iey answered 24/9, 2022 at 16:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.