If you do what I also tried, I think you will be in a clear form.
My authentication script built something similar to Endwood's idea. SessionID were fixed in RAM and rotated with every page call. If the conditions were not met, I would designate this session with a drawback. After three, I started adding sleep () calls to their executions. The limit was variable, but I set 3 seconds as a lucky number.
When authenticating, an attacker relies on a certain number of attempts per second to increase their attack. If this is their focus, the introduction of sleep makes the system look slower than it actually is, which, in my opinion, would be less desirable for an attack.
If you slow them down rather than flat, telling them no, you are a little more reasonable to look less attractive.
That being said, security is through the “type” of obfuscation, so you cannot really rely on it too much. Its just another factor in my general recipe :)
VSack source share