Join 36000+ teachers and students using TTIO.
The purpose of defensive design is make sure, as far as possible, that a program runs correctly and continues to run no matter what actions a user takes. Planning for all possibilities (contingencies) is important as well as thinking about what a user may do that the program does not expect.
This anticipation and protection is done through:
validation
sanitisation
authentication
maintenance
testing
www.teachyourselfpython.com