Security
The scripts on this site use a function that logs suspicious activity, such as SQL injections or cross-site scripting (XSS). After a certain number of attempts are made by a particular IP, that IP address will be automatically blocked. Any further attempts at accessing the site will result in a 403 forbidden status code. No attempt is made to distinguish between malicious actions and non-invasive pen-testing probes.
Since many IP addresses are dynamically allocated, the blocks are temporary. The minimum duration is 4 days but is longer for repeat offenders and significantly longer for egregious cases.
This is a small site supported by book sales to provide a home page for my books and open source free software. As such, there is no budget available for bounties. If the site is brought down by an attack and can't be restored from either the automated cloud backups or my offline backups, then the site will close but my content on CTAN and GitHub will remain available.
If you would like to contact me (Nicola Talbot) securely, you can use the email formed by the user name security with the Dickimaw Books domain (dickimaw-books.com). The security email address is configured to send and receive messages using OpenPGP end-to-end encryption (e2ee). The public key is listed below and expires on 2023-08-31.
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =Hlii -----END PGP PUBLIC KEY BLOCK-----