In some instances, say if you want to block access from one specific user, you can stop them from not only accessing your website, but others' as well and my method is more fun than just a regular IP block. To do this you will need their permission. Yeah, that's right, permission. Written and signed >
Step 1: Open Notepad
Step 2: Save as a .bat file and give it a name
Step 3: Type ping their.ip.address.255 or URL -t -l # of packets
Example: ping
www.google.com -t -l 50000
Example 2: ping 197.1.1.xxx -t -l 45000
Save the file again.
Make a copy (or two) of the file and change the packet amounts to random numbers (more than 15,000 for best results).
Most standard DDoS protections will look for a way to stop a lot of recurring junk packets, and will probably block packets of 50,000 when they come in huge volumes.
The solution is to keep changing the amount of packets. You can also change your IP and use a VPN to attack your attacker (you know, if they agree to it - and only if they agree to it, for security penetration testing reasons).
There is virtually no defense against this.