Chapter 6 Flashcards
What is defensive design
The process of creating robust programs not susceptible to hacking or erraneous input.
Defensive design must have…. (4)
No bugs
No backdoor access
Not behave in an unitended way
Incude input validation
What is a ddos attack
Spamming login attempts to bring an online service down
What must a programmer do to ensure their authentification script is defensively designed?
Minimise the load on the server - minimise the number of username/password searches
What is a presence check?
Filters out blank entries
What is a length check?
Filters out entries that are too long or too short
What is a range check
Filters out entries containing non-alpha-numeric characters
What is input validation
The program checks that the data is suitable for input
What is authentification?
Confirm that a username and password matches an account
What is input sanitisation
Using code to remove inputs that are harmul to their systems (cyberattcks)
What is program maintainability?
The process of making code as clear and as straight as possible.
Good program practices include: (4)
Sub Programs
Variable indentifier conventions
Identations
Comments
Modular testing
Testing a block of code or a small subprogram
Iterative testing
Testing the whole code many times throughout the development so bugs are quickly caught and do not pile up
Final testing
Once a program is complete, final testing can begin - alpha and beta