Home > widget-integration > FilterValidationHelper > isBadSearchTerm
FilterValidationHelper.isBadSearchTerm() method
Checks if a search term contains potentially malicious content.
Detects XSS patterns, JavaScript code, HTML tags, and event handlers using multi-layered pattern matching for comprehensive security.
Signature:
isBadSearchTerm(term: unknown): boolean;
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
term |
unknown |
The search term to validate. Non-string values return false. |
Returns:
boolean
true if the term contains malicious patterns, false if safe or non-string
Remarks
Detection Strategy: - JavaScript function calls: alert(), console.log(), execCommand, etc. - HTML tags:
This method is security-critical and uses cached regex patterns for performance. Override to add shop-specific blocked patterns or modify detection sensitivity.
Example 1
Basic validation:
if (this.validationHelper.isBadSearchTerm(userInput)) {
console.warn('Blocked malicious search term');
return;
}
Example 2
Extend to add shop-specific blocked terms:
window.boostWidgetIntegration.extend('FilterValidationHelper', (FilterValidationHelper) => {
return class extends FilterValidationHelper {
isBadSearchTerm(term) {
// Block shop-specific terms first
if (typeof term === 'string') {
const blockedTerms = ['competitor-brand', 'banned-keyword'];
if (blockedTerms.some(blocked => term.toLowerCase().includes(blocked))) {
return true;
}
}
return super.isBadSearchTerm(term);
}
};
});