Як убезпечити сайт

Як убезпечити сайт

Я вже багато разів говорив, що найбезпечніші сайти - це сайти, написані самостійно з нуля. Фактично, Ви защіщатся тим самим від всяких школярів, що уявляють себе великими хакерами, яких дуже багато. Однак, є люди, знання яких досить для злому досить серйозних сайтів, написаних з нуля. Тому щоб Ваш сайт витримав цю атаку, я вирішив написати цю статтю і розповісти, як убезпечити сайт.

Найголовніше - це завжди задавати самому собі питання: "А що буде, якщо ...?". Якщо Ви завжди будете задаватися таким питанням, то Ваш сайт завжди буде захищений практично на 100%.

Тепер же давайте розберемо найосновніші способи захисту. Найвразливіше місце - це скрипти-обробники входять даних з форм. Завжди перевіряйте те, що вводиться користувачем в форму. Для цього використовуйте регулярні вирази.




Також завжди викликайте функцію htmlspecialchars (), яка замінює небезпечні символи на суті. Виняток - ті дані, в яких і повинен бути HTML-код.

Якщо в запиті до бази даних використовуються дані, ведений користувачем, то завжди ці вхідні дані екрануйте за допомогою функції addslashes (). Цю функцію треба використовувати тільки, якщо відключена директива magic_quotes_gpc. Якщо вона включена, то всі вхідні дані екрануються автоматично.




Завжди відключайте директиву register_globals. Як показує практика, абсолютна більшість програміст не ініціалізують змінні. Наведу простий приклад:

lt ;?php
$ mysqli
=new mysqli("Localhost","Root","","Mydb") -
$ array
["First"]="1"-
$ array
["Second"]="2"-
foreach($ array as $ key = Gt; $ value){
$ mysqli
-gt;query("DELETE FROM` my_table` WHERE `field` = `$ value`") -
}
?gt;

Якби Ви проініцілізіровалі масив так: $ Array = array () -, то все було б гаразд. Однак, упевнений, що далеко не всі з Вас так роблять. В результаті, зловмисник переходить на таку адресу: http: //адрес_сайта/адрес_скріпта.php? array [zero] = 0, і Ваш скрипт благополучно видаляє ту запис, яку видаляти не варто. А нічого не було б, якби була відключена директива register_globals.

Відео: Урок 63 - Уразливості сайту: як захистити сайт від злому

Підведу невеликий підсумок:

  • Завжди пропускайте вхідні дані через htmlspecialchars (), за винятком тих випадків, де необхідно залишити HTML-теги.
  • Перевіряйте всі вхідні дані на правильність, використовуючи рядкові функції і / або регулярні вирази.
  • Пропускайте вхідні дані через функції stripslashes (), якщо вони будуть використовуватися в запитах до бази даних. Не лякайтеся, що в базу потраплять екрановані символи. Ні, дані в базі будуть такими ж, якими їх відправляли в формі. Просто сам запит буде безпечним.
  • вимикайте register_globals.
  • Завжди перевіряйте роботу скриптів на самих різних вхідних даних. Не забувайте, що якщо Ви просите ввести, наприклад, прізвище, користувач не захоче ввести який-небудь JS-код.

Відео: ЗАХИСТ Веб-сайту від вірусів і злому ●) айтішників

Це лише частина найпростіших і самих основних правил про те, як убезпечити сайт. У більшості випадків їх дотримання вже більш, ніж достатньо, щоб Ви могли спати спокійно.

Поділися в соціальних мережах:

Схожі
Як вибрати ідею для сайту?Як вибрати ідею для сайту?
Регулярні виразиРегулярні вирази
Як зробити моніторинг сервераЯк зробити моніторинг сервера
Як підняти відвідуваність сайтуЯк підняти відвідуваність сайту
Joomla vs сайт з нуляJoomla vs сайт з нуля
Рекурсія в phpРекурсія в php
Як створити соціальну мережуЯк створити соціальну мережу
Російська мова та регулярні вирази в phpРосійська мова та регулярні вирази в php
Чому dreamweaver - це погано?Чому dreamweaver - це погано?
Як перенести сайт на інший хостингЯк перенести сайт на інший хостинг
» » Як убезпечити сайт