简体   繁体   中英

Not sure where to place my honeytrap php script

I am trying to place a hidden field to restrict some webform spam.

So, here is the hidden field that I'll add to my form:

<label for="humans" class="humans">Human check: Leave this field empty</label>
<input type="text" name="humans" id="humans" class="humans" />

And here is the CSS:

.humans { display: none; }

And here is the PHP:

<?php

if(!empty($_POST['humans'])) {
    // it's spam
} else {
    // it's human
}

?>

My question is - I thought that I could place the submit button in the 'else' selector but it renders the markup invalid.

Here is my form:

            <form class="form-view theme7" id="agile-form" action="https://xxx.agilecrm.com/formsubmit" style="max-width:100%;" method="GET" >

                <fieldset>

                    <!-- Form Name -->
                    <legend class="agile-hide-formname"><?php the_field('agile_form_name'); ?></legend>

                    <p style="padding-top:50px;">Speaking Opportunities | Ticket Discounts | Early Bird Deals</p>

                    <!-- <p class="agile-form-description"></p> -->
                    <div style="display: none; height: 0px; width: 0px;">
                        <input type="hidden" id="_agile_form_name" name="_agile_form_name" value="<?php the_field('agile_form_name'); ?>">
                        <input type="hidden" id="_agile_domain" name="_agile_domain" value="xxxx">
                        <input type="hidden" id="_agile_api" name="_agile_api" value="xxxx">
                        <input type="hidden" id="_agile_redirect_url" name="_agile_redirect_url" value="<?php the_field('agile_thank_you_page_url'); ?>">
                        <input type="hidden" id="_agile_document_url" name="_agile_document_url" value="">
                        <input type="hidden" id="_agile_confirmation_msg" name="_agile_confirmation_msg" value="Great! Thanks for filling out the form.">
                        <input type="hidden" id="_agile_form_id_tags" name="tags" value="<?php the_field('agile_tags'); ?>">
                        <input type="hidden" id="_agile_form_id" name="_agile_form_id" value="<?php the_field('agile_form_value'); ?>">
                    </div>

<label for="humans" class="humans">Human check: Leave this field empty</label>
<input type="text" name="humans" id="humans" class="humans" />

                    <!-- Text input-->
                    <div class="agile-group required-control">
                      <!-- <label class="agile-label" for="agilefield-2">Enter  Email<span class="agile-span-asterisk"> *</span></label> -->
                      <div class="agile-field-xlarge agile-field">
                        <input maxlength="250" id="agilefield-2" name="email" type="email" placeholder="Enter your email" class="agile-height-default" required="">
                      </div>
                      <div class="agile-custom-clear"></div>
                    </div>
                    <!--recaptcha aglignment-->
                    <!-- Button -->
                    <div class="agile-group">
                      <label class="agile-label">&nbsp;</label>

                      <div class="agile-field agile-button-field">
                        <button type="submit" class="agile-button">Subscribe Now</button>
                        <p class="text-muted" style="padding-top:20px;">Cancel Anytime | We Do Not Spam</p>
                        <br><span id="agile-error-msg"></span>
                      </div>

                    </div>

                </fieldset>
            </form>

How do I get this to work? Thanks for all direction and help.

I thought that I could place the submit button in the 'else' selector but it renders the markup invalid.

That would mean that:

If the user successfully submitted the form without filling in the honeypot, then you would give them the ability to submit the form.

That's catch-22.

Just put the submit button in the form. You need it so that it can be submitted.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM