Загальні міркування
Так як абсолютно безпечні системи є не більш ніж міфом, на практиці доводиться балансувати між комфортом і безпекою. Якщо кожна змінна, що вводиться користувачем, вимагатиме дві біометричні перевірки (наприклад, сканування сітківки ока та відбитки пальців), то ви отримаєте гранично високу достовірність даних. Але оскільки заповнення складної форми займатиме близько півгодини, у користувачів такої системи неодмінно виникне бажання обійти нав'язливий захист.
Правильно поставлений захист повинен відповідати основним вимогам безпеки, не погіршуючи при цьому роботу користувача і не ускладнюючи програмісту розробку продукту. Разом з тим, деякі атаки можуть ґрунтуватися саме на такому підході до захисту, що призводить до її поступового ослаблення.
Слід пам'ятати хорошу приказку: надійність системи визначається її слабкою ланкою. Наприклад, якщо всі транзакції логуються за часом, місцезнаходженням, типом транзакції та рядом інших параметрів, але авторизація користувача відбувається всього лише за кукою (cookie), то зв'язок конкретного запису в лозі з користувачем системи дуже сумнівний.
При тестуванні слід пам'ятати, що ви не можете перевірити всі можливі варіанти навіть для найпростішої сторінки. Дані, які ви очікуєте, можуть не відповідати тому, що введе роздратований службовець, хакер зі стажем або домашній кіт, що розгулює по клавіатурі. Тому краще логічно подумати над питанням: де можуть бути введені несподівані дані, як їх можна модифікувати, усікти, або, навпаки, доповнити.
Інтернет наповнений людьми, які хочуть зробити собі ім'я на тому, що зламають ваш код, зруйнують сайт, опублікують на ньому недоречний контент або зроблять ваш день цікавішим. І не важливо, маленький у вас сайт чи великий, якщо у вас є онлайн-сервер – ви вже потенційна жертва. Багато програм-зломників не дивляться на розмір, вони просто перебирають масиви IP-адрес, вишукуючи чергову жертву. Постарайтеся не стати однією з них.