Documentation

Contents list

 Introduction
 Security
 -  Control panel
 -  Log & Blocking of Visitors
 -  Admin panel
 -  DataBase protection
 -  File system protection
 -  Spam Protection
 -  Firewall Protection
 Reports
 -  Backups Report
 -  File Scan Report
 -  Server Info
 -  File Permissions Scan Report
 -  Updates Report
 Tables
 -  Table Blocked IPs
 -  Login Whitelist table
 -  Failed Logins
 -  Spam report
 -  Event 404
 -  Table of Bots
 Logs
 -  Visitors Log
 -  Administrators
 -  Account activity log
 -  Action Log
 -  Error Log
 Statistics
 Settings
 Cron
 Other Features
 Security policy

Introduction

   The Visitors Log plugin is the embodiment of an integrated approach to creating tools for managing the operation of your site. This is a useful features in the field of security, statistics and some other functions. It is user-friendly and has a nice design.

  There are four main directions in the functionality:
  1. Site security.
  2. Traffic statistics.
  3. Tabular and graphical representation of the necessary information for the site administrator.
  4. Necessary and useful functions in the work of an administrator.

 1.  Site security
  • Protection against DDoS attacks;
  • Protection of the administrative panel;
  • DataBase protection;
  • File system protection;
  • Protection from 404 events;
  • Spam protection in comments;
  • Spam protection in feedback forms;
  • Bot recognition;
  • Blocking bots with control instructions in the file .htaccess;
  • Blocking bots by redirection;
  • Creating a database of unwanted IP addresses (blacklist);
  • Creating a white list of IP addresses to log in to the administrative panel;
  • Firewall;

   It is possible to block the IP address automatically, in accordance with the built-in algorithm, and this happens in two stages.   First, the IP address is temporarily blocked for a specified period and the counter starts counting the number of temporary locks. Upon reaching the temporary blocking limit, the IP address is permanently blocked by the control instructions in the htaccess file.
   The administrator can manually permanently block the IP address in the htaccess file in the table in which the address is registered.
   The administrator has the ability to enable or disable temporary or permanent address locks, as well as change some algorithm parameters.
   The table shows the relationships between the protection modules and the blocking modes.
Temporary blocking Permanent lock is automatic Permanent lock is manual
Protection against DDoS attacks
Protection of the administrative panel
Protection from 404 events
Spam protection in comments
Spam protection in feedback forms
Bot recognition

2.  Website traffic statistics.
  • generating statistics of site visits by categories of visitors( visitors, administrators, bots);
  • generating statistics on site visits by bots( DDoS, admin panel bots, 404 bots, spam bots, other bots);
  • maintaining statistics of site visits by the hour;
  • maintaining statistics of site visits by day;
  • maintaining statistics of site visits by month;
  • maintaining statistics of site visits by year;
  • displaying the name of the country, city, geographical coordinates, national flag of the country;
  • displaying statistics on the screen in the form of tables and graphs;
  • a summary report in the form of a table can be sent by e-mail.

3.  Reports, tables, logs
3.1  Reports
  • database backup report;
  • file system verification report;
  • system information (server, WordPress, PHP, MySQL, plugins, ...);
  • file and folder access report;
  • plugin update report.
3.2  Tables
  • blacklist of unwanted IP addresses;
  • Login whitelist;
  • address table when login to the admin panel fails;
  • table of spam addresses;
  • address table at event 404;
  • a table of unwanted IP addresses that the administrator creates on his own;
3.3  Logs
  • visitor log (all site visitors, admins, bots are registered);
  • log with administrators' IP addresses (all dynamic and static addresses are stored);
  • account activity log, duration of sessions in the system;
  • Action Log;
  • Error Log.

4.  Other useful functions
  • site maintenance mode, blocking access to the site except for administrators;
  • deleting all comments from the database;
  • speeding up the work of the administrative panel;
  • Cron, scheduled task log.

  Localization
  • the plugin code is executed taking into account the possibility of translating messages into different languages.

  Documentation
  • as an integral part, the plugin contains documentation describing each function in each section.

Installation
 1.  You can install the Visitors Log plugin by following the usual installation procedure, or by uploading the plugin to the /wp-content/plugins directory/.
 2.  After installation, activate the plugin via the plugins menu in WordPress.
 3.  Set the plugin settings in the installation wizard by following the suggested steps sequentially. The wizard will install the database, tables and fill them with initial data.

  Devs ™IT-Augustine,  https://itaugustine.com

Security

Control panel

   The control panel is the top level of control of all the functions of the plugin.
You can use a single switch to block the operation of the functions of the entire module, for example, the protection of the administrative panel or spam.

The list of the main functional modules of the plug-in on the control panel:
  • protection of site pages from unwanted visitors of people and bots, their blocking (including DDoS attacks);
  • protection of the admin panel (including DDoS attacks, change of access to the admin panel login page);
  • database protection (backup, change of table prefix);
  • file system protection by scanning files and checking access to files and folders;
  • spam protection in comments and feedback forms;
  • firewall modes (G7, G6, config WP file protection, etc.);
  ✓ statistics of site visits (permanently enabled);

Log & Blocking of Visitors

   This module allows you to activate the site protection modes against DDoS attacks, malicious 404 events and control the parameters of attack detection and address blocking algorithms.
Together with the mode and parameter management module, the blocked IP address registration table interacts.
Unwanted visits are automatically detected according to the parameters of the embedded algorithm and the visitor's data is entered into the table for blocking.
The parameter values are set by default and can be changed by the site administrator.
The site entry points and HTTP request methods are constantly monitored:
  • pages
  • authorization
  • xmlrpc;
  • post
  • get

Types of blocking during an attack from a single IP address:
  • temporary blocking of an address for a set period of time, organized programmatically;
  • permanent blocking with entering the address in the system file .htaccess, triggered after several temporary locks;
Protecting the site from attacks from multiple IP addresses.
  • blocking the operation of the entire site for a specified period of time;

Protection of the administrative panel

   To crack the password to log into the site's administrative control panel, hackers use a brute force attack, trying many combinations of usernames and passwords until they can guess the correct combination.
   Attackers need access to your site for their own bad purposes. There are a lot of people who want to and this is the most common type of attack. Please don't make passwords easy. At least 8 characters in different registers and there must be special characters.
   The plugin implements comprehensive protection against such threats.

   The module allows you to activate the protection modes of the admin panel from malicious attacks, manage the IP address blocking parameters, set a white list for your login addresses, rename the authorization page, install two types of captcha.
Together with the mode and parameter management module, the blocked IP address registration table interacts,  Login Whitelist table,  Administrators Table.

   A list and a brief description of the security functions of the site's administrative panel
N Functions Description File .htaccess
1 Blocking bots when logging in Enable it if you want erroneous login attempts using usernames or their IP addresses to be blocked.
You can manually adjust some parameters of the bot search and blocking algorithm:
  • the limit of login attempts for a certain period of time
  • enabling the ability to permanently block the address in the htaccess file
  • you can set a redirect URL for temporary blocking

The IP address registration table interacts with the mode
Failed Login Attempt table.
2 Login whitelist The whitelist allows you to allow access to the WordPress admin panel login page only to certain IP addresses. The instructions of the Apache htaccess server file are used.
The IP address registration table interacts with the mode
Login Whitelist table
Keep in mind that if your service provider uses dynamic IP addresses, the address may change after a while.
3 Rename Login Page A string (slug) is set, which will represent a secure login page. Part of the page launch line for logging into the wp-admin admin panel will be unavailable and replaced with a secret word. Be careful, take care of your secret.

http://example.com/secret

4 Enable Captcha On Login Page Enable this feature if you want to insert a captcha form on the login page.
5 Enable Google reCAPTCHA On Login Page Enable it if you want to use Google reCAPTCHA v2. Enter the Site Key, enter the Secret Key.
6 Enable Force User Logout The administrator can set his own time period, after which you will need to log in again.


DataBase protection

   The database is a target for hackers because it is an important asset of the site because it contains a lot of valuable information.
Attackers use methods such as SQL injection and malicious automated code aimed at accessing a data table. The plugin allows the site administrator to create an archive file of all database tables, save it to an installed directory on the server and send the archive to an email address. The plugin can create an archive automatically with a set time interval. Another method to protect the database is to change the table prefix. The administrator chooses the prefix value independently.
Database security functions are managed in the section   DataBase protection
The results are shown in the table   Backups Report
This plugin is a comprehensive data protection system and includes the following list of functions:
N Functions Description
1 Change Database Prefix If, during the installation of WordPress, the administrator did not change the default prefix of the database tables "wp_", then he can do this using the plugin at any time and thereby increase the level of database protection. When the task is activated, the plugin itself will perform the necessary operations:
-  creates a backup copy of the file wp-config.php and will place it in the service directory;
-  will replace the prefix of all database tables;
-  replaces the names of some fields in the "options" and "usermeta" tables;
-  replaces the old prefix value with the new one in the file wp-config.php.
To successfully complete the task, the plugin must be able to write to a file wp-config.php , to the wp-content system folder, and also have access to the database.
The plugin's lack of write permissions to files and folders can be detected during the task and lead to a breakdown of the database and website. In this case, the administrator will need to manually write to the files and database. Accordingly, you need to get the rights in advance and prepare tools such as PHPMYADMIN and a file manager.

Create a backup copy of the database and file before using this feature wp-config.php!

2 Manual Database Backups This allows you to create a backup copy of the database manually at any time necessary for you.
Just click on the "Start Backup" button and the process of creating a backup copy of the database will be started.
The backup file with the zip extension will be placed in the folder wp-content/visitors_log
The plugin must have write permissions set to this folder.
If you want to receive the backup file by e-mail, check the box in the enabled position.
The email settings are set in the Settings section.

3 Auto Database Backups Enable automatic database backup if you want to do it regularly at a set time interval.
The copy will be started by the CRON task scheduler WP.
Set the period:
• Monthly
• Weekly
• Daily

The backup file with the zip extension will be placed in the folder wp-content/visitors_log
The plugin must have write permissions set to this folder.
If you want to receive the backup file by e-mail, check the box in the enabled position.
The email settings are set in the Settings section.

File system protection

   It is important when you will receive information about any changes to your files in the WP system folders.   This will help to quickly prevent a hacker from damaging your site.
   WordPress core and plugin files, as well as file types such as ".php" or ".js" should not change often, and when it does, it is important that you are aware of it.
   Another point of security control is monitoring permissions for WordPress files and folders, which determine the availability and read/write permissions of files and folders.
Sometimes users change access rights to files and folders for some reason and this makes the site less secure.
To control the security of access to files and folders, permission values are scanned and information is displayed on the screen in the form of a table.
N Functions Description File .htaccess
File Change Detection Scan
1 Manual File Change Detection Scan   Scan the file system of the site at any convenient time by pressing the "Start scan" key.
The result of scanning files in the form of a message is displayed on the screen.
"Scan Complete - No file system changes detected"
or
"Attention! File system change detected"
If you activate notifications by mail, an email with the scan result will be sent to the specified address and a corresponding message will appear on the screen:
"The notification about the file change was successfully sent by email"
2 Automatic file scanning Check the box if you want the system to automatically scan files for changes.
Set the period:
• Monthly
• Weekly
• Daily
File Types To Ignore.  The delimiters are - space, enter, comma, colon.
Files/Directories To Ignore.  The delimiters are - space, enter, comma, colon.
3 Sending file scan results to email Enable sending file scan results by email .  The email settings are set in the Settings section.
4 Disable Ability To Edit PHP Files   Check this if you want to remove the ability for people to edit PHP files via the WP dashboard.
5 Enable prevent wp file access   Check this if you want to prevent access to readme.html, license.txt and wp-config-sample.php.
To implement this function , the control instructions in the file are used .htaccess.
6 File Permissions Scan   This feature will scan the critical WP core folders and files and will highlight any permission settings which are insecure.
Table of WP core folder and file access settings

Spam Protection

   The plugin has two anti-spam algorithms in its arsenal in comments on WordPress blogs.  And also implemented spam protection in feedback forms.
Since spam in comments and feedback forms has its own specifics and is usually an advertisement, we have implemented two-level protection.  For Algorithms 1.1, 1.2 and 2, the passage of spam messages is blocked and they are recorded in a temporary storage - spam table.  In the table, the administrator can manually permanently block the IP address in the htaccess file.  We have removed the automatic blocking of the address in this case.

N Functions Description File .htaccess
1.  Spam protection in comments
1.1 Algorithm 1
Blocking spam in comments using a shortcode
  When the mode is activated, a shortcode is automatically installed in the body of the comment form and spam is detected.  The bot's data is immediately entered into the appropriate table and is available for viewing and analysis by the site administrator.  In the table, the administrator can manually permanently block the IP address in the htaccess file.  The most efficient algorithm.
1.2 Algorithm 2
Blocking a spammer when it is detected by WordPress
  In this case, the plugin receives a signal about spam comments from WordPress and enters the spammer's data into the table.  In the future, the administrator decides what to do with it - delete it from the quarantine table or permanently block the IP address in the htaccess file.
1.3 Algorithm 3
Protection against spam comments using instructions in the htaccess file
1.3.1  Use the Htaccess file instructions to block bots from accessing the file wp-comments-post.php and redirect them to the address http://127.0.0.1.
1.3.2  Use the Htaccess file instructions to blacklist the various HTTP protocols used by proxy servers.
1.4 Captcha   Select one of the two captcha options to install in the comment form field
• Check the box if you want to insert a captcha field into the comments form
• Check the box if you want to use Google reCAPTCHA v2.
For Google captcha, enter the two service codes that you received when registering the captcha on the Google service.
2.  Spam protection in feedback forms
Blocking spam in feedback forms using a shortcode   The algorithm starts working when the toggle switch is turned on and a shortcode is inserted into the body of the form.  The plugin recognizes and blocks spam at the entrance and does not allow sending an email message.  The visitor's data is recorded in the spam log for subsequent analysis by the administrator and recorded in the site statistics.
  In the table, the administrator can manually permanently block the IP address in the htaccess file.
Shortcode 1
[vl_antispam-cf-shortcode1]
Insert the shortcode into your site's theme template in the body of the data entry processing form after the tag

"form"

.
For example: 

echo do_shortcode("[vl_antispam-cf-shortcode1]");

3.  Blocking IP addresses for partitions 1.1, 1.2, 2
Permanent blocking of IP addresses in Htaccess file When enabled, the administrator will be able to manually permanently block the IP address using the control instructions in the htaccess file. This is done in the Spam table.

Firewall

   Firewall functions are applied by inserting special code (instructions) into your active file htaccess. Therefore , it is recommended to create a backup copy of the file htaccess before activating the firewall.

   The first in the list are the firewall protection functions of generation 7 (7G), then generation 6 (6G), developed and released by Portable Press.
Select one of the suggested generations by turning on the switch.
Next come the basic protection functions:
• file protection wp-config.php by denying access to it
• disabling the server signature, which deprives hackers of additional information about the system
• limiting the maximum size of the uploaded file. The default value is 10 MB
• disabling index browsing, which does not allow viewing a list of directories and files
• ban image linking if you want to prevent hot links to images on your site.

   Cross–site scripting (XSS) is a code injection attack that allows an attacker to run malicious JavaScript in another user's browser.
Protection against cross-site scripting attacks (XSS):
• Disable Trace and Track
• Deny Bad Query Strings
• Enable Advanced Character String Filter

Reports

   Reports are useful information for administrators presented in a tabular format.
The content is generated when performing the functions of the plugin (database backup, file scanning, plugin updates) or is generated specifically on request (system information, file access rights report).
The administrator can only clear the report data, but there is no way to change it.
N Functions Description
1 Backups Report The report is linked to the control panel for the backup parameters of the tables of the WordPress database plugin.

The report contains information about:
• date and time of copying;
• the initiator of the operation, it can be CRON in automatic mode or administrator in manual mode;
• as a result of database copying;
• as a result of sending the copied database file to an email;
Data from the report can be deleted.
2 Files scan report The file verification report as a result of scanning WordPress system folders contains information about:
• date and time of the scan;
• the initiator of the operation, it can be CRON in automatic mode or administrator in manual mode;
• the result of the scan;
• as a result of sending a file with the scan results to an email.
Data from the report can be deleted.
3 Server info The report on system data, server, plugins contains:
• Information about plugins:
  currently active;
  Inactive;
  Visitors Log plugin;
• information about WordPress:
  about the version;
  memory limit;
  Multisite on/off;
  File System Method;
• information about PHP
• information about MySQL
• Server and OS information

the administrator has the opportunity to generate a report in a separate file and send it to an email address. The mail settings are set in the Settings section
4 File Permissions Scan Report The File Access Rights report contains:
• current permissions of system files and folders;
• Recommended Permissions;
• Recommended Actions.
5 Updates Messages about the availability of updates are displayed in the administrative panel of the site and on the current pages of the plugin.
The plugin updates report contains:
• date and time of the update of the new version of the plugin or the plugin database tables
• update mode
  Installation
  activation
  upgrade to a new version
• the new version of the plugin
• a new version of the plugin's DB tables

Tables

   Tables have more opportunities for administrators to work with data compared to reports and logs.
Data is entered into tables in accordance with data locking algorithms. The administrator can also manually edit add and delete data, send it by e-mail.
N Functions Description
1 Table Blocked IPs The data is entered into the table automatically from the DDoS protection module, as well as manually by the site administrator.  At the first stage, the IP address is temporarily blocked. If the number of temporary locks exceeds the set limit, a permanent lock occurs in the Htaccess file.  The administrator can add a new IP address, delete, permanently block one or a group of addresses.
The table with the addresses of invalid logins is linked to the security management module of the admin panel.

Managing table data:
• You can choose one of three options for sorting table data to display on the screen - all rows, blocked, unblocked;
View file .htaccess;
• Generate a report in an HTML file and send it by e-mail;

check the box and select the lines you need;
Delete selected rows;
Block selected rows;
Unblock selected rows;
Delete all rows from the table;
Row insert;

The table contains columns with information:
• date and time of the visitor's registration;
• date and time when the IP address was unblocked;
• IP address in ipv4 or ipv6 format;
• count - counter of temporary IP address locks;
• the channels of entry to the site and methods are determined by the plugin algorithm and can be as follows: PAGES, AUTH, XHR, GET, POST;
• category - the type of visitor is determined by the plugin algorithm and can be: BotDdos, BotDdosIP, BlockDdos;
• user agent - when visiting the site, the client application sends information about itself to the web server - a text string that is part of an HTTP request. Includes the name, application version, computer operating system, and language;
• URL - is a unique address of a resource on the Internet;

The Block = temp parameter, temporary blocking of the IP address for the period of time set in the parameter  Date Write/Release.
The Block = perm parameter, permanently blocking the name or IP address using the instructions in the htaccess file.

2 Login Whitelist table The whitelist allows access to your WordPress login page only to certain IP addresses.  Directives are written to a file .htaccess
The data in the table is entered manually by the site administrator.
Please note that your dynamic IP address may be changed by the service provider.
The table is related to the management of the security functions of the administrative panel of the site.
IP addresses listed in the whitelist table cannot be blocked by the plugin algorithms in any way as undesirable.
The data gets into the table only in one way - manually, by the site administrator.

Managing table data:
check the box and select the lines you need;
Delete selected rows;
Row insert;
View file .htaccess;
Edit and block row;
Copy row;

The lines contain:
• string controls;
• IP address in ipv4 or ipv6 format;
• Comments.

3 Failed logins report The data in the table is generated automatically when the bot tries to log into the admin panel.
Automatic address blocking takes place in two stages. First, the IP address is blocked for a specified period of time. The temporary lock counter is turned on. If the counter reaches the set limit, permanent blocking is enabled by instructions in the htaccess file.
Manual address blocking occurs at the request of the administrator, he can delete an entry from the table, unlock or permanently block one address or a group of IP addresses in the htaccess file.
The table with the addresses of invalid logins is linked to the security management module of the admin panel.

Managing table data:
• You can choose one of three options for sorting table data to display on the screen - all rows, blocked, unblocked;
View file .htaccess;
• Generate a report in an HTML file and send it by e-mail;

check the box and select the lines you need;
Delete selected rows;
Block selected rows;
Unblock selected rows;
Delete all rows from the table.

The table contains columns with information:
• date and time of the visitor's registration;
• date and time when the IP address was unblocked;
• IP address in ipv4 or ipv6 format;
• count - counter of temporary IP address locks;
• the channels of entry to the site and methods are determined by the plugin algorithm and can be as follows: PAGES, AUTH, XHR, GET, POST;
• author - type of visitor, it is determined by the plugin algorithm: AdminLogin, BlockLogin, BotLogin
• login is a set of characters that the user entered as a login in the admin panel login form;
• password is a set of characters that the user entered as a password in the admin panel login form;
• URL - is a unique address of a resource on the Internet;
• refinfo - contains the HTTP Referer header, which indicates the address from which the current page was accessed;

The Block = temp parameter, temporary blocking of the IP address for the period of time set in the parameter  Date Write/Release.
The Block = perm parameter, permanently blocking the name or IP address using the instructions in the htaccess file.

4 Spam report The data is entered into the table automatically in accordance with the criteria of anti-spam algorithms in comments and feedback forms.
The plugin's algorithms do not skip spam messages in comments and emails and record them in a table.
Manual address blocking occurs at the request of the administrator, he can delete an entry from the table, unlock or permanently block one address or a group of IP addresses in the htaccess file.
The table with spammers' addresses is linked to the spam parameters management module.

Managing table data:
• You can choose one of the options for sorting tabular data to display on the screen - all rows, locked, unlocked, comments, feedback form;
View file .htaccess;
• Generate a report in an HTML file and send it by e-mail;

check the box and select the lines you need;
Delete selected rows;
Block selected rows;
Unblock selected rows;
Delete all rows from the table.

The table contains columns with information:
• date and time of the visitor's registration;
• IP address in ipv4 or ipv6 format;
• The "Reason" column shows where the information came from - from the comments or from the feedback form;
• URL - is a unique address of a resource on the Internet;
• user agent - when visiting the site, the client application sends information about itself to the web server - a text string that is part of an HTTP request. Includes the name, application version, computer operating system, and language;

The Block = perm parameter, permanently blocking the name or IP address using the instructions in the htaccess file.

5 Event 404 The data in the table is generated automatically if a visitor or bot tries to go to a non-existent page of the site.
Automatic address blocking takes place in two stages. First, the IP address is blocked for a specified period of time. The temporary lock counter is turned on. If the counter reaches the set limit, permanent blocking is enabled by instructions in the htaccess file.
Manual address blocking occurs at the request of the administrator, he can delete an entry from the table, unlock or permanently block one address or a group of IP addresses in the htaccess file.
The 404 event address table is linked to the User registration and blocking parameters management module.

Managing table data:
• You can choose one of three options for sorting table data to display on the screen - all rows, blocked, unblocked;
View file .htaccess;
• Generate a report in an HTML file and send it by e-mail;

check the box and select the lines you need;
Delete selected rows;
Block selected rows;
Unblock selected rows;
Delete all rows from the table.

The table contains columns with information:
• date and time of the visitor's registration;
• date and time when the IP address was unblocked;
• IP address in ipv4 or ipv6 format;
• count - counter of temporary IP address locks;
• the channels of entry to the site and methods are determined by the plugin algorithm and can be as follows: PAGES, AUTH, XHR, GET, POST;
• user agent - when visiting the site, the client application sends information about itself to the web server - a text string that is part of an HTTP request. Includes the name, application version, computer operating system, and language;
• URL - is a unique address of a resource on the Internet;
• refinfo - contains the HTTP Referer header, which indicates the address from which the current page was accessed;

The Block = temp parameter, temporary blocking of the IP address for the period of time set in the parameter  Date Write/Release.
The Block = perm parameter, permanently blocking the name or IP address using the instructions in the htaccess file.

6 Table of Bots The table allows the administrator to create his own archive of bots with their names and IP addresses.
The administrator can manually perform the following operations with the data in the table:
• add a new bot with its name and IP address, as well as specify its type and the possibility of permanent blocking;
• delete a row from a table;
• copy a row from the table;
• edit a row from a table;
• permanently block one or a group of addresses in the htaccess file;
To permanently block the IP address in the htaccess file, the appropriate mode must be enabled in the registration and blocking management module
Keep in mind that if there are bots in your table that index the pages of your site to display its pages in the browser, for example GoogleBot, then it is not necessary to block such a bot.

Managing table data:
• You can choose one of five options for sorting tabular data to display on the screen - all rows, blocked, not blocked, which are forbidden to block, by type of bots (search bots for browsers);
View file .htaccess;
• Generate a report in an HTML file and send it by e-mail;

check the box and select the lines you need;
Delete selected rows;
Block selected rows;
Unblock selected rows;
Delete all rows from the table;
Row insert;

The table contains columns with information:
Edit row;
Copy row;
• the name of the bot from the user agent line;
• Bot Type;
• IP address in ipv4 or ipv6 format;
• short name to display in the table;
• Comments;

The Block = not block parameter prohibits the permanent blocking of the bot in the htaccess file.
The Block = perm parameter, permanently blocking the name or IP address using the instructions in the htaccess file.

Logs

   Logs register event parameters and display them on the screen in the form of tables.
The administrator does not have the ability to change the data, only delete it.
The number of rows of output to the screen and the number of rows of storage in the database is determined by the parameters in the Settings mode.
N Functions Description
1 Visitors Log All site visitors and their parameters are recorded in the log.
The table contains a list of the user's sessions and the number of pages he visited on the site.
The administrator has the option to delete all entries in the table, as well as generate a report in a separate file and send it to an email address. The mail parameters are set in the Settings section.

The table contains columns with information:
• date and time of the visitor's registration;
• date and time when the IP address was unblocked;
• IP address in ipv4 or ipv6 format;
• visitor - algorithm of plugin can determine how: Admin, Admin404, AdminLogin, Bot, BotLogin, Bot404, BotDdos, BotddosIP, BlockDdos, Block404, BlockLogin, BlockSpamCO, BlockSpamCF;
• the channels of entry to the site and methods are determined by the plugin algorithm and can be as follows: PAGES, AUTH, XHR, GET, POST;
• the "Pages" column contains the number of pages viewed in one session.
• the "Session" column indicates the number of sessions with the site of this visitor.
• the "All pages" column indicates the number of all pages viewed in all sessions of working with the site.
• user agent - when visiting the site, the client application sends information about itself to the web server - a text string that is part of an HTTP request. Includes the name, application version, computer operating system, and language;
• URL - is a unique address of a resource on the Internet;
• refinfo - contains the HTTP Referer header, which indicates the address from which the current page was accessed;

2 Administrators The log contains the IP addresses of the site administrators, the date and time of the first login. It should be borne in mind that if the ip address is dynamic, the log will register a new address in the log every time.
The administrator has the option to delete selected entries in the table.
3 Account activity log The log logs the activity of administrators in the account of the administrative panel of the site.

The log contains information:
• date and time of authorization of site administrators;
• date and time of logging out of the authorization session;
• time spent in the session;
• administrator's name, ID, IP address.
4 Action Log The plugin logs messages that occur during various actions on the site.
The administrator has the option to delete selected entries in the table.

the log file contains lines with information:
• date and time of logging the event on the site;
• the type of visitor, it can be User, Bot, Admin;
• the content of the event message on the website.
5 Error Log The log uses system error information that is stored in PHP logs.
To do this, use the ini_get(error_log) function.
The system automatically records and deletes error messages in the log.

The body of the log contains lines with information:
• date and time when the system error was logged;
• text description of the error content.

Statistics

   The Visitors Log plugin implements an algorithm for registering site visitors and accumulating statistics of visits by hours, days, months and years.
The type of visitor is determined - administrator, user or bot.
Bots are categorized depending on how they affect the site - login bot, 404 bot, DDoS bot, spam bot.
Statistical data can be seen on the screen in the form of graphs and tables.
In the regions section, the screen displays the coordinates of the visitor on the map, the table shows the names of the country, city and flag.
In the statistics control panel section, you can enable the automatic generation of a report with a specified time period and send it to e-mail.

The collection of statistical data on the site cannot be disabled, it works all the time.
The display of information is limited to the specified output parameters.
In the Regions section, set the time period in days for sampling statistical data. The range from 1 day to 30 days is set manually.

  Report on visits by the hour
  Report on visits by day
  Monthly Visit Report
  Summary report
  Statistics of visits by regions
N Functions Description
1 Statistics module The statistics module allows you to show information in an easy-to-read form:
• in graphic design;
• in tabular form;
• at any time scale:
 - per day by hour, per month by day, per year by month, by year;
• statistics for each of these time scales are implemented on its own separate page;
• in the form of a world map with an indication of the visitor's place of stay on it.

Note: in order to avoid visual perception overload, there is a limit on the placement of the number of points on the map to 50.
2 Summary report The summary report contains information about site visits by year, month, and day:
• Users;
• Bots;
• Administrators;
• blocked user addresses
as well as event bots on the site:
• Bots Ddos
• Bots Login
• Bots Spam contact form
• Bots Spam comments
• Bots event 404
You can see the report on the screen and download it to your computer as an HTML file.

3 Visit rating table by region In the visit rating table by region, the information contains:
• the country code of the visitor, the flag of the country, the name of the country, the number of visits from this country, the percentage of the country from the total number of visits to countries for the period.
4 User log in the Regions section In the Visitor Log table in the Regions section, the following information:
• date and time when the visitor or bot arrived on the site;
• type of visitor - user, bot, administrator;
• visitor's country - code, country flag;
• coordinates of the visitor's location;
• User Agent of the visitor (information about your operating system, browser and its version, as well as other data such as device type and language);
• IP address.

Settings

   The option settings mode allows you to set the values of some parameters.
Parameter values are selected from the set values.

List of parameters for installation:
• the limit on the number of entries in the database applies to all tables, reports, with the exception of the log table;
• limiting the display of rows on the screen for all tables, reports, and modules, except for the log table;
• the number of records in the database is limited only for the active log table;
• limiting the display of rows on the screen only for the log table;
• entering the license code with the key will allow you to use the full version of the plugin with all functions;

The plugin has its own PHPMailer and you can configure SMTP settings yourself to send messages from a real mailbox. This will prevent your message from getting into spam. Get the necessary parameters from the service provider and enter them in the required fields;

Note, for security reasons, passwords and keys are stored separately in the database and do not participate in database backup.

Debug mode is enabled by the WP_DEBUG constant, it is disabled by default. Debugging includes processing absolutely all PHP errors and displaying them on the screen, activates additional logic in the kernel code, plugins and those where the value of this constant is checked and something is done if it is enabled.  WP_DEBUG_DISPLAY and WP_DEBUG_LOG are activated only if the WP_DEBUG constant is enabled.  When WP_DEBUG = false, error display and logging will work based on the settings of the php.ini file.
All the debug mode constants are defined in the file wp-config.php

Cron

   Cron is a task scheduler whose task is to periodically perform the specified actions at a certain time.
By default, the WP-Cron scheduler is enabled and performs system tasks for WordPress.
The Visitors Log plugin uses the capabilities of WP-Cron and forces the scheduler to turn on at the right time for its tasks.
N Functions Description
1 List of tasks of the Visitors Log plugin • vl_cron_backups_action;
• vl_login_captcha_action;
• vl_perform_files_scan;
• vl_cron_statistics;
• vl_cron_check_system;
• vl_cron_check_update;
• vl_cron_activity_test.
2 A table with a list of scheduled tasks includes information • task name;
• task attribute;
• task schedule, the interval between inclusions is specified;
• the time of the last task execution;
• time remaining until the task is completed.
3 WP-Cron Scheduler Test Independent mode starts from its own page.
On the test page there is a step-by-step instruction:

1. Press the "Cron test start" button
2. Press the "Refresh the page" button

After the second action, the test results are displayed on the screen and simultaneously recorded in the "Action Logs" log.
  Action Log

Other Features

   The Other functions section provides the following features on your site.
Site maintenance, deleting all comments without subsequent restoration, speeding up the work of the administrative panel.

N Functions Description
1 Site maintenance Maintenance

This feature allows you to put your site into "maintenance mode" by locking down the front-end to all visitors except logged in users with super admin privileges.
• the mode is turned on by the On/Off switch;
• the text that you want to display to site visitors during its blocking is entered into the information entry window;
2 Deleting comments Delete all comments

A useful service function that deletes comments without subsequent recovery.
It's a good idea to make a backup copy of the database beforehand.
You can select the category of comments to delete:
• Total Comments;
• Comments in moderation;
• Comments approved;
• Comments in Spam;
• Comments in Trash.
3 Speeding up the work of the admin panel Speeding up the work of the admin panel

This algorithm disables the "aggressive" check for updates in the admin panel. But it does not touch the check for updates on the crown. Also, if you need to check for new versions right now, then go to the Console > Updates page - there the "aggressive" check does not turn off and is triggered every minute.

Security policy

   The functionality of the plugin is closely related to the security policy applied by the server administrator.
To implement its functions, the plugin works with files and folders of the system and records working information in them.
So the access rights may need to be loose.

The plugin uses certain files and folders to record data according to the functions that the administrator wants to use on his site:
1.  The system file htaccess.
1.1  Automatic writing to the htaccess file on an ongoing basis.
 -  when the Anti-DDoS mode is enabled and the IP address blocking criterion is triggered, control instructions are automatically written to the file;
 -  when the 404 event detection mode is enabled and the IP address blocking criterion is triggered, control instructions are automatically written to the file;
 -  when the error logging event detection mode is enabled in the admin panel and the IP address blocking criterion is triggered, control instructions are automatically written to a file;
1.2  One-time entry in the htaccess file.
 -  when the access denial mode to the XML RPC channel is enabled, the control instructions are automatically written to the file;
 -  when the Login Whitelist is enabled, the control instructions are automatically written to a file;
 -  the administrator can manually select IP addresses from his own database of IP addresses, which he created himself, and in this case, the control instructions are automatically written to the file;
 -  when the ban on editing PHP files is enabled, the control instructions are automatically written to the file;
 -  when disabling access to wp files, control instructions are automatically written to the file;
 -  when the site administrator manually blocks the IP addresses selected from the table that were detected during spam in the comments or feedback form, the control instructions are automatically written to the file;
 -  when the G6 or G7 firewall is enabled, the control instructions are automatically written to a file;
 -  when protection against cross-site scripting attacks (XSS) is enabled, control instructions are automatically written to a file;

2.  The system file wp-config.php.
2.1  One-time entry in the wp-config.php file.
 -  when debugging mode is enabled, the WP_DEBUG, WP_DEBUG_DISPLAY, and WP_DEBUG_LOG constants are set and control instructions are automatically written to the file;
 -  when the mode is enabled, the constant DISALLOW_FILE_EDIT is set, which disables the plugin and theme file editor, and control instructions are automatically written to the file;

3.  Folder \wp-content.
3.1  Automatic writing to the \wp-content folder on an ongoing basis.
 -  when writing control instructions to an htaccess file, the plugin automatically creates a backup copy of the file named .htaccess.backup and places it in the "wp-content/visitorlog" folder;
 -  when generating report files, the plugin automatically creates files with the html extension and places them in the "wp-content/visitorlog" folder;
 -  when generating files containing a copy of the database, the plugin automatically creates files with the zip extension and places them in the "wp-content/visitorlog" folder;

  This information will help you make the best decision in choosing the necessary plug-in functions in combination with the site's security level.
You already understand that for short-term changes to the contents of the htaccess system files and wp-config.php it is enough to establish write access for the data and then restore the original level.
To use the plug-in functions with constant monitoring of malicious bot actions through all input channels of the site, access to the entry in the htaccess file is required. You also need permanent write access for the wp-content folder if you are using database backup and generating various reports and sending them by mail.

  If you are the site administrator and have the necessary permissions to access the site's files and folders, then you know what to do and which commands to use in the console prompt or in the file manager.

  If you do not have the necessary rights to access the files and folders of the site, do not worry, the plugin has something to provide you with in this case, a wide range of visit statistics, admin panel protection, databases, spam protection, protection from malicious attacks using software locks and much more.

Some useful information can be found at the links:

  https://developer.wordpress.org/advanced-administration/server/file-permissions/
  https://developer.wordpress.org/advanced-administration/security/hardening/