Про наболіле. Всім відомо, що PHP є мовою із низьким порогом входження, тобто її порівняно легко вивчити на рівні початківця і почати застосовувати. І це дає поштовх до появу на білий світ Інтернету кривих сайтів з купою дірок. В принципі, і не треба очікувати від потуг початківця чогось більшого - це нормально… погано, якщо людина зупиняється на цьому рівні, думаючи, що вона вміє робити офігенні динамічні сайти. А дуже погано, коли веб-студії беруть гроші за сайти із явними дірками у безпеці, що в перспективі може коштувати замовнику на порядки більше ніж послуги дешевої контори та надкороткі строки здачі. Також не слід вважати, що мова PHP є коренем всіх проблем, адже велика кількість сайтів на інших динамічних мовах програмування також мають схожі дірки. Тут справа більше у знаннях та досвіді програміста ніж у обраній ним мові.
За статистикою близько 90% всіх сайтів із загальним доступом мають проблеми із безпекою. За даними дослідження, проведеного компанією WhiteHat Security у березні цього (2008) року, визначені наступні 10 найбільш частих класів уражень:
- Міжсайтовий скриптинг (XSS) - 7/10 сайтів
- Витік інформації - 2/5
- Підміна контенту (наприклад для використання у phishing) - 1/4
- Передбачувані місця знаходження ресурсів (PRL) - 1/6
- Ін’єкція SQL - 1/6
- Недостатня перевірка дійсності користувача - 1/6
- Недостатня авторизація - 1/7
- Зловмисне використання функціональності - 1/10
- Роздвоєння HTTP відповіді - 1/12
- Індексування директорій - 1/24
Цю невтішну статистику можна значно покращити, якщо знати і застосовувати основні моменти безпеки веб-програм. Цим записом я започатковую серію присвячену безпеці у контексті PHP, але, думаю, адептам інших мов також буде цікаво. Я спробую розібрати найчастіші проблеми у безпеці веб-сайтів та різні методи їх вирішення.
Тож слідкуйте за поновленнями на сайті. Найлегший спосіб це зробити - підписатись на мою RSS-стрічку
Перша стаття буде присвячена вхідним даним - їх убезпеченню та валідації (перевірці на вірність вводу).




















