Осигурајте свој ПХП код

  • Кључно је осигурати сигурне податке од корисника (форме и УРЛ-ове итд.) Осим ОС сервера и хттп сервера углавном због веб напада.
  • Постоје 3 категорије за обезбеђивање вашег пхп кода:

Валидација корисника података

Када сајт нуди обрасце који дозвољавају корисницима да сниме и пошаљу садржај, то није довољно да означи формат уноса (е-маил адреса, телефонски број, количина производа). Сервер такође треба да се надгледа (нпр. ПХП) ако су подаци уобичајено за наша очекивања. Узимајући у обзир све бројеве, конвертујте све податке које шаље корисник:

Потврдите податке из УРЛ-а или образаца

Скоро сви примљени подаци су из УРЛ-а или образаца које је вебмастер поставио. Скоро сви параметри УРЛ-а приказују доле:

/индек.пхп?руб=25

Међутим, овај параметар не треба мењати. Али то је могуће као испод:

 /индек.пхп?руб=0 /индек.пхп?руб=/индек.пхп?руб=ааааАААААаааа /индек.пхп?руб=1+ор+1 
  • Од кључног је значаја да проверите да ли се формат који се прима преко УРЛ-а или форме очекује без обзира на врсте података.
  • Можете користити функцију филтер_инпут () да бисте потврдили исто.
  • На пример, ако сте примили е-поруку од корисника из формата пост са именом поља као е-маил. Исто можете опоравити тако што ћете:

 $ емаил = филтер_инпут (ИНПУТ_ПОСТ, 'е-пошта', ФИЛТЕР_ВАЛИДАТЕ_ЕМАИЛ); иф ($ емаил) {// Унос адресе е-поште је заиста формат адресе поште} 

Ова функција може филтрирати многе ствари: ИП адресу, УРЛ итд. Могу се вршити модификације као што је кодирање низа прије слања кроз УРЛ као процес хтмлентитиес ().

  • Неколико филтера се може комбиновати помоћу "|" .
  • Да бисте потврдили ИП адресу само у Ипв4 формату:

$ ип = филтер_инпут (ИНПУТ_ГЕТ, 'ип', ФИЛТЕР_ВАЛИДАТЕ_ИП | ФИЛТЕР_ФЛАГ_ИПВ4);

Кликните на следећи линк за филтере:

//ввв.пхп.нет/филтер

Прескочи приказани садржај УРЛ-а

Када се на екрану прикаже садржај који корисник унесе, он садржи ХТМЛ или ЈаваСцрипт код који, међутим, чини обавезну заштиту.

Ако се садржај приказује у хтмл-у: морате ХТМЛ кодирати поставку за конвертовање свих знакова у еквивалентне ХТМЛ ентитете. Испод је пхп функција за аутоматизацију овог процеса:

ецхо хтмлентитиес ($ _ РЕКУЕСТ ['цонтент']);

Ако би садржај требао бити приказан у УРЛ-у: морате урленкодирати садржај.

ПХП има две функције за ово кодирање: урленцоде () и равурленцоде (). Разлика између ове двије функције је кодирање подручја, које у првој функцији даје и даје% 20 и "+" у другом.

 ецхо '//ввв.вебсите?валеур='.урленцоде($_РЕКУЕСТ['валуе']); 

Ако би садржај требао бити похрањен у бази података: потребно је избјећи све знакове с одређеном улогом у послужитељу базе података. За ПХП и МиСКЛ, функција мискл_есцапе_стринг () чини све потенцијално штетне знакове у низу који се преноси као параметар.

 $ куери = 'СЕЛЕЦТ ид ФРОМ матабле ВХЕРЕ усер = "'. мискл_есцапе_стринг ($ _ РЕКУЕСТ ['усер'])." "'; 

Имајте на уму да је сервер конфигурисан са ПХП опцијом магиц_куотес, подаци које преносе корисници су аутоматски заштићени обрнутим косим цртама (бацксласх). Дакле, пре заштите мискл_есцапе_стринг, требало би да "поништите" ову основну заштиту:

 $ куери = 'СЕЛЕЦТ ид из митабле ВХЕРЕ усер = "'. стрипсласхес (мискл_есцапе_стринг ($ _ РЕКУЕСТ ['усер']))." "'; 
Претходни Чланак Sledeći Чланак

Топ Савети