не довіряй нікому
Якось нещодавно довелось мені зустрітись із проблемою недовіри користувачам. Проблема є тривіальною, проте програмери роблять стільки помилок, що аж волосся випадає, при чому не тільки в мене. У даному випадку я наведу приклад від якого можна відштовхуватись і на його базі буде представлена концепція взаємодії з користувачами. А суть проста, як двері – не довіряти нікому, навіть якщо користувачем є рідна мама. Наприклад є така форма
1.form action=log.php method=GET
2.input maxlength=10 type=”input” name=”username”>Username /input
3./form
От ніби класична форма, яку завше використовують(тут ще повинні бути розставлені символи < та >, але фільтр it.ridne.net їх не пропускав, тому я їх видалив, скористайтесь фантазією і поставте їх де потрібно). Але вона містить потенційну вразливість. І полягає вона в обмеженні довжини до 10 символів(2-а стрічка). Справа в тому, що це обмеження спрацьовує на стороні клієнта, а не сервера. Це означає, що я можу : використати браузер який нехтує параметром maxlength , можу написати свій браузер який буде нехтувати цей параметр і зрештою направити наступний url :
http://server/log.php?username=andrukhivthreat
І це ім’я заканає, бо перевірка правильності заповнення форми даних знаходиться у клієнта. Отже, абсолютно всі механізми фільтрації та захисту полів вводу інформації повинні бути захищені на стороні сервера. У даному прикладі параметр maxlength може слугувати виключно як елемент дизайну сторінки.
Recent comments
12 years 49 weeks ago
12 years 51 weeks ago
13 years 33 weeks ago
13 years 40 weeks ago
14 years 25 weeks ago
14 years 48 weeks ago
15 years 2 weeks ago
15 years 8 weeks ago
15 years 10 weeks ago
15 years 24 weeks ago