Базові заходи безпеки
ocStore не відповідає за захист вашого сайту — безпеку сервера маєте забезпечити ви самі. Наведені нижче поради допоможуть підвищити захищеність магазину на ocStore.
Ці кроки можна виконати одразу після встановлення ocStore на сервер або в будь-який момент після запуску магазину. Про встановлення див. розділ Встановлення.
Видаліть теку install#
Теку install рекомендується видалити одразу після встановлення. Якщо її не видалено, ocStore показуватиме попередження в адмінці.
Захист тек#
Тека admin#
Тека admin — це вхід до адміністративної частини магазину. Той, хто має доступ до адмінки, може змінювати товари, дані покупців, налаштування магазину та іншу цінну інформацію. Тому дуже важливо, щоб сторінку входу до адмінки було важко знайти й до неї було важко дістатися.
Перейменування admin#
Перейменуйте теку admin на щось, що не асоціюється з адмінкою, — так сторонні не зможуть легко її знайти. Сторінка входу відкривається за адресою магазину з додаванням назви теки. Наприклад, якщо теку перейменовано на cookiemonster, вхід до адмінки буде за адресою www.yourstore.com/cookiemonster.
Після перейменування теки оновіть шляхи у файлі admin/config.php (тепер уже у файлі всередині перейменованої теки): константи HTTP_SERVER, HTTPS_SERVER, DIR_APPLICATION, DIR_LANGUAGE, DIR_TEMPLATE містять назву admin/ і мають вказувати на нову назву теки.
.htaccess і .htpasswd#
Файли .htaccess і .htpasswd у теці адмінки не дадуть зловмисникам потрапити до неї, навіть якщо вони дізнаються адресу входу. За допомогою .htaccess можна заборонити доступ до теки з усіх IP-адрес, окрім IP-адреси адміністратора. А .htpasswd вимагатиме від адміністратора додатковий пароль для доступу до цієї теки.
Тека catalog#
Теку catalog можна захистити звичайним файлом .htaccess. Зручно використати директиву FilesMatch, щоб закрити доступ лише до важливих типів файлів (наприклад, php і txt), а не до всіх. Для .htaccess у теці catalog можна використати такий код:
<FilesMatch "\.(tpl|php|txt)$">
Order deny,allow
Deny from all
</FilesMatch>
Це заборонить прямий доступ до всіх файлів шаблонів, PHP і TXT у цій теці. Таблиці стилів, скрипти й зображення теми залишаться доступними.
Тека system#
У теці system є файли, які обов'язково потрібно захистити, зокрема журнал помилок у system/logs/ (у стандартному встановленні ocStore файл називається my_mego_log.log) і startup.php. Назву файлу журналу помилок за потреби можна змінити в налаштуваннях магазину: Система > Налаштування, вкладка «Сервер», поле «Файл журналу помилок».
.htaccess#
Файл .htaccess у теці system закриє доступ до цих файлів і до всіх підтек system для будь-кого через веб. Для цього додайте в system/.htaccess такий код:
Order deny,allow
Deny from all
Наведені приклади використовують синтаксис Apache 2.2. На Apache 2.4 без модуля mod_access_compat замість Order deny,allow / Deny from all використовуйте Require all denied. На nginx файли .htaccess не працюють — аналогічні заборони потрібно прописати в конфігурації сервера (блоки location).
Права доступу до файлів#
Щоб ніхто інший не міг їх змінити, встановіть для таких файлів права 644 або 444:
config.phpindex.phpadmin/config.phpadmin/index.phpsystem/startup.php