6 основни съвета за сигурност, за да защитите вашия PHP сайт от хакери

Вашият PHP сайт е стартиран. Честито! Но чакай .. погрижихте ли се за основното втвърдяване на сигурността?


PHP е лек, но много мощен език за програмиране. Той захранва около 80% от глобалните уеб приложения, което го прави един от най-често използваните езици в света на развитието.

Причината за неговата популярност и широко използване е лесната структура на кодиране и удобните за разработчиците функции. Има много CMS и рамки, изградени върху PHP, а хиляди известни разработчици от цял ​​свят са редовна част от нейната общност.

Един чудесен пример е WordPress.

Когато PHP приложенията са внедрени на сървъри на живо, той може да се сблъска с няколко случая на хакерски и уеб атаки, което прави данните на неговия сайт изключително уязвими, за да бъдат откраднати. Това е една от най-дискутираните теми в общността, че как да се изгради напълно сигурно приложение, като се проверяват всички основни цели на проекта.

Въпреки най-добрите си усилия, разработчиците винаги остават внимателни към скритите вратички, които остават незабелязани, докато разработват приложение. Тези вратички могат сериозно да компрометират защитата на жизненоважни данни на сайта на всеки уеб хостинг за PHP MySQL приложения, оставяйки ги уязвими за опити за хакване.

Така че, тази статия е свързана с някои полезни съвети за сигурност на PHP, които бихте могли да използвате разумно в проектите си. Използвайки тези малки съвети, можете да сте сигурни, че приложението ви винаги стои високо при проверките за сигурност и никога не се компрометира от външни уеб атаки.

Кроссайт скриптове (XSS)

Кроссайт скриптове е една от най-опасните външни атаки, извършвани чрез инжектиране на всеки злонамерен код или скрипт в уебсайта. Това може да повлияе на ядрата на вашето приложение, тъй като хакерът може да инжектира всякакъв вид код в приложението ви, без дори да ви даде намек. Тази атака се среща най-вече в тези уебсайтове, които допускат и предоставят потребителски данни.

При XSS атака, инжектираният код замества оригиналния код на вашия уебсайт, но въпреки това работи като действителен код, нарушаващ ефективността на сайта и често краде данните. Хакерите заобикалят контрола за достъп на вашето приложение, получавайки достъп до вашите бисквитки, сесии, история и други жизненоважни функции.

Можете да противодействате на тази атака, като използвате специални HTML символи & ENT_QUOTES във вашите кодове за кандидатстване. Използвайки ENT_QUOTES, можете да премахнете опции за единично и двойно котиране, което ви позволява да изчистите всяка възможност за скрипт на атака на сайта.

Подправяне на искания за различни сайтове (CSRF)

CSRF раздава пълен контрол на приложенията на хакерите, за да извършат всяко нежелателно действие. С пълен контрол хакерите могат да извършват злонамерени операции, като прехвърлят заразения код на вашия уебсайт, което води до кражба на данни, функционални модификации и др. Атаката принуждава потребителите да променят конвенционалните заявки към променените разрушителни, като прехвърляне на средства несъзнателно, изтриване цялата база данни без никакво уведомление и т.н..

CSRF атаката може да бъде инициирана само след като щракнете върху прикритата злонамерена връзка, изпратена от хакера. Това означава, че ако сте достатъчно умни, за да разберете заразените скрити скриптове, лесно можете да изключите всяка потенциална CSRF атака. Междувременно можете също да използвате две защитни мерки, за да подсилите сигурността на приложението си, т.е. като използвате GET заявките във вашия URL адрес и гарантирате, че не-GET заявките се генерират само от вашия клиентски код.

Отвличане на сесия

Отвличането на сесия е атака, чрез която хакерът открадне идентификационния номер на вашата сесия, за да получи достъп до предвидения акаунт. Използвайки този идентификационен номер на сесията, хакерът може да валидира вашата сесия, като изпрати заявка до сървъра, където масив $ _SESSION валидира нейното време, без да държи на вашето знание. Тя може да бъде извършена чрез XSS атака или чрез достъп до данните, където се съхраняват данните от сесията.

За да предотвратите отвличането на сесия, винаги обвързвайте сесиите си с действителния си IP адрес. Тази практика ви помага да обезсилите сесиите всеки път, когато се появи неизвестно нарушение, като незабавно ви уведомявате, че някой се опитва да заобиколи сесията ви, за да получи контрол на достъпа до приложението. И винаги помнете, да не излагате лични документи при никакви обстоятелства, тъй като по-късно може да компрометира вашата идентичност с друга атака.

Предотвратяване на SQL инжекционни атаки

Базата данни е един от ключовите компоненти на приложение, което най-вече се прицелва от хакери чрез SQL инжекционна атака. Това е вид атака, при която хакерът използва конкретни URL параметри, за да получи достъп до базата данни. Атаката може да бъде направена и чрез използване на полета за уеб формуляр, където хакерът може да променя данните, които предавате чрез заявки. Променяйки тези полета и заявки, хакерът може да получи контрол върху вашата база данни и може да извърши няколко катастрофални манипулации, включително изтриване на цялата база данни на приложенията.

За да предотвратите SQL инжекционни атаки, винаги се препоръчва да използвате параметризирани заявки. Този PDO заявки правилно замества аргументите, преди да стартира SQL заявката, като ефективно изключва всяка възможност за атака на SQL инжектиране. Тази практика не само ви помага да защитите вашите SQL заявки, но и ги прави структурирани за ефективна обработка.

Винаги използвайте SSL сертификати

За да получите защитено предаване на данни от край до край, винаги използвайте SSL сертификати във вашите приложения. Това е световно признат стандартен протокол, известен като Hypertext Transfer Protocol (HTTPS) за сигурно предаване на данни между сървърите. Използвайки SSL сертификат, приложението ви получава сигурен път за прехвърляне на данни, което почти прави невъзможно хакерите да навлязат на вашите сървъри.

Всички основни браузъри като Google Chrome, Safari, Firefox, Opera и други препоръчват да използвате SSL сертификат, тъй като той осигурява криптиран протокол за предаване, получаване и дешифриране на данни по интернет.

Скриване на файлове от браузъра

В структурата на микро PHP има специфична структура на директория, която осигурява съхранението на важни рамкови файлове като контролери, модели, конфигурационния файл (.yaml) и т.н..

През повечето време тези файлове не се обработват от браузъра, но въпреки това те се наблюдават в браузъра за по-дълъг период, създавайки нарушение на сигурността на приложението.

Така че, винаги съхранявайте файловете си в публична папка, вместо да ги съхранявате в главната директория. Това ще ги направи по-малко достъпни в браузъра и ще скрие функционалностите от всеки потенциален атакуващ.

заключение

PHP приложенията винаги са уязвими към външни атаки, но използвайки съветите, споменати по-горе, можете лесно да защитите ядрата на приложението си от всяка злонамерена атака. Като разработчик, ваша отговорност е да защитите данните на вашия уебсайт и да го направите без грешки.

Освен тези съвети, много техники могат да ви помогнат да защитите уеб приложението си от външни атаки, като например да използвате най-доброто облачно хостинг решение, което ви осигурява оптимални функции за защита, облачна WAF, настройка на корен на документи, бели списъци с IP адреси и други.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map