Add some JS code that add a hidden field
If the hidden field is not present in the POST, SpamFilterComponent considers the request as spam.
507494
public function antispam($form_dom_id)
    {
        $salt  = isset($this->_View->viewVars['_alaxos_spam_filter_salt']) ? $this->_View->viewVars['_alaxos_spam_filter_salt'] : null;
        $token = SecurityTool::get_today_token($salt);

        /*
         * Unlock hidden field added by JS to prevent blackholing of form
         */
        $fieldname = SecurityTool::get_today_fieldname($salt);
        $this->unlockField($fieldname);

        return $this->AlaxosHtml->script(Router::url(['prefix' => false, 'plugin' => 'Alaxos', 'controller' => 'Javascripts', 'action' => 'antispam', '_ext' => 'js', '?' => ['fid' => $form_dom_id, 'token' => $token]], true), ['block' => true]);
    }
201313
function add_filter( $tag, $function_to_add, $priority = WP_FS__DEFAULT_PRIORITY, $accepted_args = 1 ) {
            $this->_logger->entrance( $tag );

            add_filter( $this->get_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
        }
716108
public void addHiddenParam(PrintWriter out, String strParam, String strValue)
    {
        out.println("<input type=\"hidden\" name=\"" + strParam + "\" value=\"" + strValue + "\">");
    }
210238
private void addPostParams(final Request request) {
        if (webhookMethod != null) {
            request.addPostParam("WebhookMethod", webhookMethod);
        }

        if (webhookFilters != null) {
            for (String prop : webhookFilters) {
                request.addPostParam("WebhookFilters", prop);
            }
        }

        if (preWebhookUrl != null) {
            request.addPostParam("PreWebhookUrl", preWebhookUrl);
        }

        if (postWebhookUrl != null) {
            request.addPostParam("PostWebhookUrl", postWebhookUrl);
        }

        if (preWebhookRetryCount != null) {
            request.addPostParam("PreWebhookRetryCount", preWebhookRetryCount.toString());
        }

        if (postWebhookRetryCount != null) {
            request.addPostParam("PostWebhookRetryCount", postWebhookRetryCount.toString());
        }

        if (target != null) {
            request.addPostParam("Target", target.toString());
        }
    }
1188411
def addFilter(self, field, value):
        
        if "<" not in value or ">" not in value or ".." not in value:
            value = ":" + value

        if self.__urlFilters:
            self.__urlFilters += "+" + field + str(quote(value))
        else:
            self.__urlFilters += field + str(quote(value))
1073264
private static void exposeRequestAttributeIfNotPresent(ServletRequest request, String name, Object value) {
        if (request.getAttribute(name) == null) {
            request.setAttribute(name, value);
        }
    }
1067357
function Filter (params) {
  var self = this
  if (!(self instanceof Filter)) return new Filter(params)

  self.identifier = params['filter_id']
  self.priority = params['priority'] | 0
  self.hideSponsoredSlug = !!params['hide_spondored_slug']
  self.imageURL = params['image']
  self.isDynamic = !!params['is_dynamic_geofilter']
  self.isSponsored = !!params['is_sponsoed']
  self.position = params['position']
  self.prepositioned = !!params['prepositioned']
  self.prepositionedImageURL = params['prepositioned_image']

  var geofence = params['geofence']
  var coords = geofence['coordinates']

  self.geofenceIdentifier = geofence['id']
  self.coordinates = (coords || [ ]).map(function (coord) {
    return {
      lat: coord['lat'],
      lng: coord['long']
    }
  })
}
1314944
function update_hidden_input(saved_tokens, hidden_input) {
          var token_values = $.map(saved_tokens, function (el) {
              if(typeof $(input).data("settings").tokenValue == 'function')
                return $(input).data("settings").tokenValue.call(this, el);

              return el[$(input).data("settings").tokenValue];
          });
          hidden_input.val(token_values.join($(input).data("settings").tokenDelimiter));

      }
222434
private void addPostParams(final Request request) {
        if (friendlyName != null) {
            request.addPostParam("FriendlyName", friendlyName);
        }

        if (codeLength != null) {
            request.addPostParam("CodeLength", codeLength.toString());
        }

        if (lookupEnabled != null) {
            request.addPostParam("LookupEnabled", lookupEnabled.toString());
        }

        if (skipSmsToLandlines != null) {
            request.addPostParam("SkipSmsToLandlines", skipSmsToLandlines.toString());
        }

        if (dtmfInputRequired != null) {
            request.addPostParam("DtmfInputRequired", dtmfInputRequired.toString());
        }

        if (ttsName != null) {
            request.addPostParam("TtsName", ttsName);
        }

        if (psd2Enabled != null) {
            request.addPostParam("Psd2Enabled", psd2Enabled.toString());
        }
    }
1133947
private void addPostParams(final Request request) {
        if (code != null) {
            request.addPostParam("Code", code);
        }

        if (to != null) {
            request.addPostParam("To", to);
        }
    }
1044776
function addSearchHeaderRenderHtml( divId, type , params, config ) {
	log( "PoNG-Search", "add content " );
	if ( ! config.page ) return;
	var html = [];		
	var lang = '';
  html.push( '<div class="pongSearch" id="'+divId+'">' );
  html.push( '<form id="'+divId+'Form">' );
  html.push( '<input type="hidden" name="layout" value="'+ config.page + '"/>' ); 
  if ( getParam( 'lang' ) != '' ) {
    html.push( '<input type="hidden" name="lang" value="'+ getParam( 'lang' ) + '"/>' ); 
  } 
  var role = '';
  if ( userRole != '' ) {
    html.push( '<input type="hidden" name="role" value="'+ getParam( 'role' ) + '"/>' ); 
  } 
  var title = ( config.title ? config.title : '' );
  var name = ( config.name ? config.name : 'search' );
  if ( config.label ) {
    html.push( '<label class="pongSearchLabel" for="'+divId+'Input">'+$.i18n( config.label )+'</label>' )
  }
  html.push( '<input id="'+divId+'Input" class="pongSearchInput" title="'+title+'" name="'+name+'" accessKey="s"></input>' )
  html.push( '</form>' )
  html.push( '<script>' )
  //html.push( '  $( function(){ alert("yepp") } );' )
  html.push( '  $( "#'+divId+'Form" ).submit( function(event){   } );' )
  html.push( '</script>' )
  html.push( '</div>' )
	$( "#"+divId ).html( html.join( "\n" ) );
}
422348
private static void createTokenHiddenField(Controller controller, String tokenName, String tokenId) {
		StringBuilder sb = new StringBuilder();
		sb.append("<input type='hidden' name='").append(tokenName).append("' id='").append(tokenName).append("' value='").append(tokenId).append("' />");
		controller.setAttr("token", sb.toString());
	}
411718
private void addDefaultsIfNeeded(ServletRequest req)
            throws JspException
    {
        if (_defaultSelections != null) {
            Iterator iterator = _defaultSelections.iterator();
            while (iterator.hasNext()) {
                Object selection = iterator.next();
                if (!_optionList.contains(selection)) {
                    addOption(req, selection.toString(), selection.toString());
                }
            }
        }
    }
726416
protected function submitAddFieldValue()
    {
        $this->setSubmitted(null, $this->getParam());
        $this->validateComponent('field_value');
        $this->addFieldValue();
    }
244250
static function hidden($name, $value, $attr = array())
    {
        $attr = array_merge(
            array(
                "type" => "hidden"
            ),
            $attr
        );

        self::input($name, $value, $attr);
    }
211165
private void addPostParams(final Request request) {
        if (key != null) {
            request.addPostParam("Key", key);
        }

        if (value != null) {
            request.addPostParam("Value", value);
        }
    }
168695
private void addPostParams(final Request request) {
        if (expirationDate != null) {
            request.addPostParam("ExpirationDate", expirationDate.toString());
        }

        if (details != null) {
            request.addPostParam("Details", details);
        }

        if (hiddenDetails != null) {
            request.addPostParam("HiddenDetails", hiddenDetails);
        }
    }