ID сесије

Из Википедије, слободне енциклопедије

У Информатици, идентификатор сесије, ID сесије или токен сесије је податак који се користи у мрежним комуникацијама (често уз помоћ HTTP-а) за идентификацију сесије, низа повезаних размена порука. Идентификатори сесије постају неопходни у случајевима у којима комуникациона инфраструктура користи протокол као што је HTTP. На пример, купац који посећује сајт продавца жели да убаци одређен број производа у виртуалну корпу и настави (обави) куповину преласком на страницу са касом. Овај поступак обично подразумева сталну комуникацију, када је неколико веб странице захтевано од стране клијента и које су му послате назад од стране сервера. У таквој ситуацији, од виталног је значаја праћење тренутног стања корпе купца, а идентификатор сесије је један од начина да се постигне тај циљ.

Идентификатор сесије је обично додељује посетиоцу при његовој првој посети сајту. Овај идентификатор се разликује од корисничког индентификатора. У таквим сесијама, индентификатори су обично кратковечни (истичу након одређеног времена неактивности, које је унапред подешено, а може бити неколико минута или сати) и могу постати неважећи након што се неки циљ испуни (на пример, једном када купац заврши са својом наруџбином, он не може да користи исту сесију да би додао још производа у корпу).

Будући да се идентификатори сесије често користе за идентификацију корисника који је пријављен на сајт, они могу да се злоупотребе од стране хакера и добију потенцијалне привилегије. Идентификатор сесије је, по правилу, насумично генерисана ниска да би се у што већој мери смањила вероватноћа злоупотребе валидног индентификатора посредством грубе силе. Многи сервери врше додатну потврду (проверу)клијента, у случају да је нападач успео да добије идентификатор. Закључавање сесије на IP адреси клијента је једноставан и ефектан начин заштите, све док нападач не може да се конектује на сервер са исте адресе, али такође може изазвати проблеме за клијента уколико клијент приступа серверу на више начина (нпр. велики број интернет конекција) и IP адреса клијента не пролази пресликавање мрежне адресе.

Када говоримо о злоупотреби сесије, најчешћи облици напада су Session fixation и Session hijacking. Session hijacking је "отмица" сесије, односно њеног ID-а. Нс пример, до сесије се може доћи простим погађањем. Нападач може константно слати захтеве којима ће придруживати ID сесије. Ако апликација није добро заштићена, може доћи до тога да захтев прође и нападач се логује под налогом корисника чију је сесију погодио. Сесија се може преузети и уз помоц колачића са рачунара клијета. Овакви покушаји преузимања сесије се називају Session Fixation напади.

Токен сесије [1] је јединствени индентификатор, обично је у форми хаша, генерисаног [[hash function|хаш функцијом] која се генерише и шаље са сервера клијенту да индентификује тренутну интеракцију сервера. Клијент обично складишти и шаље токен као

  1. [1]

HTTP колачић и/или шаље га као параметар у GET или POST упитима. Разлог за употребу токена сесије је да је на клијенту само да рукује идентификатором (мали део података који је иначе бесмислен и на тај начин не представља никакву опасност за безбедност) - сви подаци везано за сесију се чувају на серверу (обично у бази података, којој корисник нема директан приступ) повезани са тим идентификатором.

Постоји много недостатака индентификатора сесије, и може се десити да неки услови програмера не буду испуњени. Многи програмери користе другу (различиту) логику да идентификују сесију.

Примери имена које неки програмски језици користе када именују своје колачиће укључују JSESSIONID (Јава (програмски језик)), PHPSESSID (PHP), и ASPSESSIONID (Microsoft ASP).

Види још[уреди]

Спољашње везе[уреди]