не довіряй нікому

Якось нещодавно довелось мені зустрітись із проблемою недовіри користувачам. Проблема є тривіальною, проте програмери роблять стільки помилок, що аж волосся випадає, при чому не тільки в мене. У даному випадку я наведу приклад від якого можна відштовхуватись і на його базі буде представлена концепція взаємодії з користувачами. А суть проста, як двері – не довіряти нікому, навіть якщо користувачем є рідна мама. Наприклад є така форма

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 може слугувати виключно як елемент дизайну сторінки.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <h1> <h2> <h3> <h4> <h5> <h6> <address> <em> <strong> <code> <del> <cite> <acronym> <blockquote> <q> <sub> <p> <br> <pre> <ul> <ol> <li> <dl> <dt> <dd> <a> <b> <u> <i> <table> <tr> <td> <th> <div> <sup><hr> <img>
  • Glossary terms will be automatically marked with links to their descriptions.
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
 888    d8P             Y88b   d88P  888                           d8b         d8888 
888 d8P Y88b d88P 888 Y8P d88888
888 d8P Y88o88P 888 d88P888
888d88K .d88888 Y888P 888 888 888 .d88b. 888 d88P 888
8888888b d88" 888 888 888 `Y8bd8P' d88P"88b 888 d88P 888
888 Y88b 888 888 888 888 X88K 888 888 888 d88P 888
888 Y88b Y88b 888 888 888 .d8""8b. Y88b 888 888 d8888888888
888 Y88b "Y88888 888 88888888 888 888 "Y88888 888 d88P 888
888 888
888 Y8b d88P
888 "Y88P"
Enter the code depicted in ASCII art style.

© Інформаційні технології. Аналітика , Рідна Мережа