Ad Click Spam Protection script.

Job ID: 37367985

Budget: €30 – €250 EUR

Hi, I'm looking for someone that can professionally program a "Ad Click Spam Protection" script that can be added into any PHP website (Project time is not important).
NOTE: To filter out all the bot bidders, please solve this captcha here ''6+12 = ?' in your bid description (All bots will receive a one-start bid rating).

* Here is the the project details list for this script:

# SCRIPT - FUNCTIONALITY ->

1. If an Ad Unit is being clicked X times in X period of time by a IPv4/IPv6 address, then the script should remove the Ad Unit(s) for that IPv4/IPv6 address for X duration of time.
2. Must work with Ads loaded into an HTML iFrame element (for example AdSense). And should remove the DIV with the parent ID “ad_unit_*” on a current live page and in the page rendering phase for blocked Ad Units.
3. Has to detect the touch screen clicks and the left and right mouse clicks on a Ad Unit.
4. Should automatically purge the old database entries
5. An option to set a MySQL Table Prefix in the "configuration.php" file or in the "config.php" file of the script.
6. Support for the FingerPrintJS script "https://github.com/fingerprintjs/fingerprintjs" (If the FingerPrintJS is enabled, then the script should only remove the Ad Unit(s) if the FingerPrint and the IP Address matches).
7. Should be programed in the best possible way, to not effect the page load too much.
8. The script should be programmed in a modular way as I will expand the script with more options in future projects.
9. Needs to be compatible with PHP 8.2 and MySQL 8.4 (MariaDB 10.11) and vanilla JavaScript (No jQuery please).

# SCRIPT - WEB CONTROL PANEL ->

1. Login page to configure all the script settings below, including changing the login password and login name.
2. Installing of the Script MySQL Tables by simply clicking on a button with a checkbox confirmation warning when overwriting an existing MySQL Table.
3. Setting the Ad Unit "Click Limit" number and setting the Ad Unit "Time Frame" and "Block Duration" in seconds, minutes, hours or days.
4. An Option to block all Ad Units or just the individual Ad Unit when the click limit was reached for an Ad Unit.
5. Display a table list of “Blocked IP Addresses” including with the “Fingerprint”, “Blocked Ad Units”, “Blocked Since (Date)”.and “Blocked Until (Date)”.
6. An option to delete all blocked IP addresses or just individual blocked IP addresses, along with an IP search box.
7. A separate section to Add and Remove permanently blocked IPv4/IPv6 addresses and IPv4/IPv6 address ranges, along with an IP search box.
8. An option to Enable and Disable the FingerPrintJS and the ability to set the script Local Path (Self Hosting) or an External URL (CDN https://openfpcdn.io/fingerprintjs/v4).

# EXTRA INFORMATION ->

Here is a demo page with two iFrame Ad Units that are placed inside a "div id=ad_unit_<number>" tag, http://nervmech.net/test/
If needed you can get full FTP access and MySQL access to this test website for live testing your script.

* Ideal Skills and Experience:
--- Strong knowledge in JavaScript programming.
--- Strong knowledge in PHP programming.
--- Strong knowledge in MySQL programming.
--- Familiarity with website security.
--- Attention to detail.
Related categories: PHP JavaScript Web Security MySQL Fraud Detection