Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    Getting StartedAdministrator documentationFunctional characteristics
      Technology descriptionarrow
    • Architecture OverviewComponent Description
        Deployment schemesarrow
      • Basic schemeFail-safe schemeTypical Placement in Infrastructure
    System requirements
      Admin Panelarrow
      • Account areaarrow
        • Accountsarrow
        • Account UsersAccount Virtual SendersAccount Database Indexes
        TariffsExternal data configurationLDAPTasksSchedule JobsGlobal Stop ListsWebversion Store Policies
        Settingsarrow
      • Databases
          Accessarrow
        • AdminsAPI tokens
        Notifiers
          MTAarrow
        • Default rulesRetry rulesLock rulesBounce patternsStrategiesKeysISPsPools
      Nodes
        Sendersarrow
      • EmailSMSEvent generatorIntegration with SendsayENS: настройка сендера
        Reportsarrow
      • Audit JournalData Usage
        Toolsarrow
      • ARF decoderURL decoderSMID decoderLicense
      Platform installationarrow
    • Automatic installationManual installationRunning the platform in a Docker container
      Platform configurationarrow
    • Configuration fileDomain settingsLDAP access configurationSending Email via SMTP relayPixel and push domain configurationCluster and Replication SetupSystem notifications configurationProcesses UNIX sockets configurationHTTPS ConfigurationMigrating from MongoDB Community Edition to Percona Server for MongoDBAdding sender IP addressesDeduplication request settingsPostgreSQL database for account dataProxy server settingsKeycloak Integration with AltcraftGetting HTTP service statusesConfiguration MongoDB logs rotation
        Configuration of system constants and directoriesarrow
      • Filtering bot actionsDirectory of gender markers
      Platform maintenancearrow
    • Personnel requirementsPlatform maintenance processesPlatform updatingPlatform service monitoringBackup and recoveryTransferring the platform to a new serverCreating, deleting, and populating tables for statistics in ClickHouseUsage of the aktool utilityUsers and directories engaged by the platform
      Custom channels guidearrow
    • OverviewCreating and configuring a channelEntity field configurationTemplate languageEntities
        Pipesarrow
      • Pipe: Basic ConceptsResultErrorsLogPackUnpackHTTP RequestStore SetStore GetSelectorSQLEventerScheduler
        Pipelinesarrow
      • Pipeline: Basic ConceptsMessageScheduleListenerModerateStop
      Extraarrow
    • System page customizationSend Message IDИнструкция по миграции истории в ClickHouseInstructions for migrating history to ClickHouseUtility for importing push subscriptions to Firebase projectUtility for importing push subscriptions to Firebase project
    Processing HTTP/HTTPS traffic
      Administrator APIarrow
      • Accounts admin apiarrow
        • Restricted accessarrow
        • Account Activation and DeactivationAccount Freeze and Unfreeze
        Get accounts listAdd a new accountDelete the account
        Account usersarrow
      • Update an Existing AccountAdd a new accountDelete a userGet a list of usersSending a Welcome Email
        Nodesarrow
      • Synchronize node MTA configurationGet nodes listGet node MTA statusActivate node MTADeactivate node MTA
        Senders admin apiarrow
      • Create or update AKMTA senderGet AKMTA sender informationAssign account to senderGet senders listDelete senderRestore sender
          Sender queuearrow
        • Get sender queue informationHold sender queueRelease sender queueClear sender queue
        Virtual sendersarrow
      • Get virtual senders listGet virtual sender informationCreate virtual senderUpdate virtual senderClone virtual senderDelete virtual sender
    Documentation Archive
  • Platform configuration
  • Configuration of system constants and directories
  • Filtering bot actions

Filtering bot actions

The Altcraft platform can detect bot activity and modified proxy settings and is able to filter out these events. Thanks to this, clients do not receive distorted data about user activity on their sites. This mechanism allows you to get accurate information from analytics and reports on the platform.

The platform checks each connection and compares its pattern or subnet with those in the directory. Settings for filtering bot actions are contained in two config files: "bots_ua.json " and "bots_ip.json ". Currently, 1139 network rules and 575 UserAgent rules have been added to these directories.

Validation can be performed on the following events:

EventDescription
import_formImport from a form with a web layer
import_popupImport from pop-up
openOpening a message
clickClicks and confirms for all channels and redirect to the subscription manager
click_smsClicks on the SMS handler
readChecking the read pixel in an email
unsubUnsubscription of channels
click_pushClicks on the push handler
pixel_openRegistration of target and redirection through pixel

The following actions are available for the identified bot/proxy connection:

ActionDescription
event_ignoreThese events are completely ignored. Used to ignore events that were not committed by the user, but the target action (for example, antivirus protection system operation) should be processed.
ua_ignoreIgnores UserAgent events and all associated data. Applies when a user performs an action, but because there was a data corruption (e.g., using a VPN), the user data should be ignored.
ip_ignoreIgnores the IP address of the event and all associated data, including geo_ip. Applies when a user performs an action, but because there has been data corruption (e.g., VPN usage), the event data should be ignored.
blockThe request is blocked, opening an error page. Used when you want to protect against malicious traffic (e.g., botnets or crawlers).
logRegardless of other actions, additionally records all details of the event in the info level of the logging (Bot detector action)
noneUsed if you want to temporarily disable actions for a particular rule
caution

If you need to change the configuration, create a copy of the config file and name it "custom.bots_ua.json " or "custom.bots_ip.json ", depending on the config. Do not make any changes to the original files!

Structure of bots_ua.json​


{
"pattern": "MTRobot", // Pattern
"events": ["click", "open"], // List of events to check ([] - all supported events)
"actions": [ // List of actions to take (default [] - ua_ignore and ip_ignore)
"ua_ignore",
"ip_ignore"
],

// Information fields (optional)
"added": "2023-09-08",
"url": "https://metrics-tools.de/robot.html",
"instances": [
"MTRobot/0.2 (Metrics Tools Analytics Crawler; https://metrics-tools.de/robot.html; crawler@metrics-tools.de)"
],
"source": [
"https://raw.githubusercontent.com/monperrus/crawler-user-agents/master/crawler-user-agents.json"
]
},

Structure of bots_ip.json​


{
"network": "87.240.128.0/18", // Subnets
"events": ["click", "open"], // List of events to check ([] - all supported events)
"actions": [ // List of actions to take (default [] - ua_ignore and ip_ignore)
"ua_ignore",
"ip_ignore"
],

// Information fields (optional)
"added": "2023-09-08",
"url": "https://metrics-tools.de/robot.html",
"instances": [
"MTRobot/0.2 (Metrics Tools Analytics Crawler; https://metrics-tools.de/robot.html; crawler@metrics-tools.de)"
],
"source": [
"https://raw.githubusercontent.com/monperrus/crawler-user-agents/master/crawler-user-agents.json"
]
},

tip

If you want to temporarily disable a rule, you should specify "none" in the "actions " parameter. If you specify an empty set, the default actions ua_ignore and ip_ignore will be executed.

Last updated on Oct 28, 2024
Previous
Configuration of system constants and directories
Next
Directory of gender markers
  • Structure of bots_ua.json
  • Structure of bots_ip.json
© 2015 - 2026 Altcraft, LLC. All rights reserved.