Definition: defensive programming
Writing a secure program. Without security in mind, extensive validation of input is one area that is often overlooked. For example, if a small amount of data is expected as input, but the program accepts any amount, it provides a way for the cracker to insert executable code into the program. Using very clever hacking techniques, this code can be made to run.