не довіряй нікому
Якось нещодавно довелось мені зустрітись із проблемою недовіри користувачам. Проблема є тривіальною, проте програмери роблять стільки помилок, що аж волосся випадає, при чому не тільки в мене. У даному випадку я наведу приклад від якого можна відштовхуватись і на його базі буде представлена концепція взаємодії з користувачами. А суть проста, як двері – не довіряти нікому, навіть якщо користувачем є рідна мама. Наприклад є така форма
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
13 years 4 weeks ago
13 years 6 weeks ago
13 years 40 weeks ago
13 years 47 weeks ago
14 years 32 weeks ago
15 years 4 weeks ago
15 years 10 weeks ago
15 years 15 weeks ago
15 years 17 weeks ago
15 years 32 weeks ago