Вебмайстер
Яндекс для вебмайстрів
Як Яндекс індексує сайти
Сайт на сторінці результатів пошуку
Сервіс «Яндекс.Вебмайстер»
Налаштування індексування
Вміст сайту
Сайт у результатах пошуку
Безпека сайтів
Сервіси Яндекса на вашому сайті

PHP і MySQL

Стаття "Забезпечення безпеки веб-сайтів" надана Sophos Plc і SophosLabs.

Грудень 2007 р.

PHP є однією з найпоширеніших серверних скриптових мов. Вона вирізняється величезною базою функціонального коду, простим синтаксисом, кодом, який адаптується і, що найважливіше, можливістю взаємодії з найрізноманітнішими базами даних. MySQL — це одна з найпопулярніших СКБД, що використовуються в поєднанні з PHP; причина полягає в її ефективності, багатій функціональності, а також простоті налаштування та використання.

Мову PHP часто критикують за недостатній рівень безпеки, оскільки з часом у ній було виявлено безліч потенційних вразливостей. Проте вона стабільно розвивається, а вразливість можна компенсувати належною конфігурацією або підвищенням рівня безпеки коду, що розробляється.

Ось кілька порад щодо налаштування (розробка безпечного коду обговорюється нижче), які стосуються змінних у файлі «php.ini»:

  • Необхідно встановити змінну register_globals у значення off.

  • Необхідно встановити змінну safe_mode у значення on.

  • У змінній open_basedir слід зазначити базовий каталог веб-сайту.

  • Необхідно встановити змінну display_errors у значення off.

  • Необхідно встановити змінну log_errors у значення on.

  • Необхідно встановити змінну allow_url_fopen у значення off.

Додаткові відомості, що стосуються цих налаштувань і причин, з яких вони відіграють таку важливу роль, можна знайти в джерелах [7,8,9].

Під час встановлення MySQL створюється база даних «test», яка використовується за замовчуванням, і відкритий обліковий запис «root» без пароля. Цьому обліковому запису автоматично надається повний доступ до всіх інших баз даних на сервері. У зв'язку з цим необхідно виконати таке:

  • Відразу змінити пароль облікового запису «root».

  • Створити новий обліковий запис MySQL і надати йому мінімально необхідні права.

  • Видалити базу даних «test» і відповідних користувачів.

До наступного розділу

Оцініть статтю
Дякуємо за ваш відгук!