ХТТП колачић
ХТТП цоокие, такође и цоокие или колачић је једноставна текстуална датотека која се чува у веб-прегледачу док корисник прегледа неки веб-сајт. Када корисник у будућности прегледа тај исти сајт, сајт може "извући" или дохватити податке који су сачувани у колачићу, како би био обавештен о претходној корисничкој активности. Колачићи могу садржати информације о томе које је странице корисник посетио, податке о пријави, па и коју дугмад је корисник кликнуо. Ови подаци могу остати у колачићу месецима, чак и годинама.
Колачићи се понекад мешају с програмима - међутим, они су само комадић података - и сами не могу ништа урадити. Не могу садржати вирусе нити инсталирати малициозни софтвер на рачунару на којем се користе. Међутим, колачићи за праћење (трацкинг цоокиес) и посебно колачићи трећих страна често се користе као начин да се начине дугорочни записи о корисниковој историји прегледања.
Остале врсте колачића врше функције нужне за модеран Веб. Можда су најважнији аутентификацијски колачићи, помоћу којих сервер зна да ли је корисник пријављен или не. Такође зна и под којим је рачунаром корисник пријављен. Сигурност ове врсте колачића углавном зависи од сигурности веб-сајта који шаље колачић, прегледача корисника, и од тога јесу ли подаци у колачићу шифровани. Ако је сигурност ниска, хакер може прочитати податке у колачићу, па их може искористити тако да добије приступ подацима корисника, или се може пријавити на веб-сајт под корисничким именом и лозинком.
Врсте колачића
[уреди | уреди извор]Сесијски колачић
[уреди | уреди извор]Сесијски колачић постоји у привременој меморији док корисник прегледава и навигира кроз сите. Настаје када приликом стварања колачића није одређен датум његова истека. Интернетски прегледници обично избришу сесијски колачић када их корисник затвори.
Трајни колачић
[уреди | уреди извор]Трајни колачић, као што им и име говори, по трајању "надмашује" онај сесијски. Ако колачић има свој рок трајања (Маx-Аге) подешен на 1 годину, тада би се унутар годину дана серверу слала изворна вриједност у колачићу, сваки пут када би корисник посјетио сервер. Ово се може користити за снимање важних дјелића информација попут тога како је корисник изворно доспио на сите. Због овог разлога зову се и колачићи за праћење (трацкинг цоокиес).
ХТТПС колачић
[уреди | уреди извор]ХТТПС колачић може се користити само на шифрираним ХТТПС страницама. Сигурнији је од обичног колачића (сецуре цоокие - сигурносни колачић) и отежава његову "крађу". (Види сљедећи поднаслов.)
ХттпОнлy
[уреди | уреди извор]Врсту колачића под именом ХттпОнлy подржава већина модерних прегледника. Сесијски ХттпОнлy колачић користи се само приликом преноса ХТТП (или ХТТПС) захтјева. На тај начин забрањује приступ од стране не-ХТТП АПИ-ја (као што је ЈаваСцрипт). Ова забрана умањује, но не елиминира у потпуности, проблем "крађе колачића" преко цросс-сите сцриптинг-а (XСС). Ријеч је о сигурносној рупи коју хакер може искористити тако што убаци малициозну скрипту на неку интернетску страницу коју корисници посјећују. Тако се може десити и крађа колачића.
Колачићи трећих страна
[уреди | уреди извор]Колачићи тзв. прве стране су колачићи подешени с истом доменом (или под-доменом) која је приказана на адресној траци интернетског прегледника. С колачићима трећих страна је супротно - подешени су с доменама друкчијим од оне коју можете видјети у адресној траци.
Интернетске странице могу имати садржај с домене неке треће стране, нпр. оглас који покреће www.reklame.com
Опције у већини модерних прегледника омогућују блокирање колачића трећих страна.
Узмимо један примјер. Претпоставимо да је корисник посјетио сите www.primjer1.com
који има рекламу - и та реклама поставља колачић с доменом ad.foxytracking.com
. Када корисник касније посјети www.primjer2.com
, друга реклама може поставити други колачић с доменом ad.foxytracking.com
. Коначно, оба колачића бит ће послана оглашивачу приликом учитавања реклама или приликом посјећивања његовог интернетског ситеа. Оглашивач ове колачиће може користити у сврху изграђивања повијести сурфања корисника преко свих ситеова на којима оглашивач има "траг".
Зомбијевски колачићи
[уреди | уреди извор]То су колачићи који се поновно аутоматски креирају након што их корисник избрише, а што се може постићи скриптом која спрема садржај колачића и на друге локације.
Намјена
[уреди | уреди извор]Управљање сесијама
[уреди | уреди извор]Колачићи се могу користити за одржавање података повезаних с корисником. Омогућивање кориснику да се пријави на интернетски сите је примјер честе примјене колачића. То ради тако што сервер прво пошаље колачић са јединственим сесијским идентификатором. Корисник се онда пријави с попуњеним подацима, интернетска апликација проводи аутентификацију сесије и допушта кориснику приступ сервисима.
Колачићи су такођер и начин да се имплементира "кошарица за купњу" - виртуални уређај у који корисници могу похрањивати попис ствари које желе купити. Апликације тих кошарица обично спремају садржај кошарице у серверову датабазу, умјесто у сам колачић. Сервер шаље колачић с јединственим сесијским идентификатором. Интернетски прегледник ће сесијски идентификатор слати натраг са сваким каснијим посјетом.
Персонализација
[уреди | уреди извор]Колачићи се могу користити за памћење информација о кориснику који је посјетио интернетски сите. Ти се подаци могу искористити да се у будућности прикаже неки релевантан, кориснику прилагођен садржај. Тако сервер може послати колачић који садржава корисничко име кориштено задњи пут тијеком пријаве, тако да поље с именом може бити попуњено у будућим посјетима.
Бројни интернетски ситеови користе колачиће за персонализацију - која би одговарала корисниковим поставкама и укусу. Подаци о поставкама се могу унијети преко неке wеб форме те их се послати серверу. Сервер енкодира поставке у колачићу и шаље га натраг прегледнику. Овако, сваки пут када корисник приступи страници, серверу се шаље колачић гдје су спремљене поставке, те може персонализирати страницу у складу с истима. На примјер, Wикипедија омогућује пријављеним корисницима да одаберу скин (прилагођено графичко сучеље) који им се највише свиђа; у прошлости је Гоогле допуштао корисницима, па чак и оним непријављенима, да одреде колико резултата потраге по страници желе видјети.
Праћење
[уреди | уреди извор]Колачићи за праћење могу се користити за праћење корисниковог сурфања. Ово се дјеломично успјешно може урадити кориштењем ИП адресе компјутера с којег корисник приступа, но колачићи омогућују већу прецизност. Ево како механизам функционира:
- Ако корисник пошаље захтјев страници каквог интернетског ситеа, али његов захтјев не садржи колачић, сервер претпоставља да је ово прва страница коју је корисник посјетио; сервер потом ствара случајни слијед знакова и шаље их као колачић
- Након овога, прегледник ће серверу аутоматски слати колачић сваки пут када се пошаље захтјев за нову страницу ситеа; сервер шаље станицу, те спреми УРЛ тражене странице, датум/вријеме захтјева, и колачић у лог (записну) датотеку.
Имплементација
[уреди | уреди извор]Као што је прије споменуто, колачићи су произвољни дијелови података које одабире сервер и шаље прегледнику, а прегледник их непромијењене враћа серверу. Без колачића, свако би дохваћање странице или неке њезине компоненте био изолиран догађај, углавном неповезан за свим другим прегледима страница истог ситеа.
Од прегледника се очекује да може спремити барем 300 колачића великих 4 кб, те барем 20 колачића истога сервера или домене.
Постављање колачића
[уреди | уреди извор]Прегледник захтијева страницу од сервера слањем обично кратког текста који се назива ХТТП захтјев. На примјер, како би корисник приступио страници http://www.primjer.org/index.html, прегледник се споји на сервер www.primjer.org, те му шаље захтјев који изгледа попут овога:
GET /index.html HTTP/1.1 |
||
прегледник | сервер |
Сервер одговара слањем захтијеване странице којем претходи сличан пакетић с текстом, који се зове ХТТП одговор. Пакетић може садржавати линије у којима се тражи од прегледника да похрани колачић.
ХТТП/1.1 200 ОК |
||
прегледник | сервер |
Сервер шаље линије ставке Set-Cookie
само ако жели да прегледник похрани колачиће. Set-Cookie
је упута прегледнику да похрани колачић те да га шаље натраг у будућим захтјевима серверу. Упута је подложна атрибуту који одређује "рок трајања" колачића.
Примјер: прегледник захтијева страницу http://www.primjer.org/post.html тако што серверу www.примјер.орг шаље захтјев попут овог:
GET /post.html HTTP/1.1 |
||
прегледник | сервер |
Ово је захтјев за другом - другачијом страницом од истог сервера, и разликује се од првог захтјева по томе што садржи линију коју је сервер претходно послао прегледнику. На овај начин, сервер зна да је овај захтјев повезан с пријашњим. Сервер потом одговара слањем захтијеване странице и понекад такођер шаље још колачића.
Вриједност колачића може измијенити сервер слањем нове линије - Set-Cookie: name=newvalue
у одговору на захтјев. Прегледник затим једноставно замијени стару вриједност с новом.
У случају да интернетски прегледник то подржава, колачић, осим сервера, може поставити и скрипта - написана у програмском језику ЈаваСцрипт. У ЈаваСцрипту се за ову сврху користи објект document.cookie
. Нпр., document.cookie = "temperatura=20"
ствара колачић имена temperatura
и вриједности 20
.
Поставке у прегледницима
[уреди | уреди извор]Модерни прегледници редовито подржавају колачиће, али и допуштају својим корисницима да их онемогуће - често ради приватности. Дакле, најчешће опције у вези колачића су:
- Комплетно онемогућавање или допуштање колачића - тако да се увијек блокирају или прихваћају.
- Каткад, цоокие манагер који допушта корисницима увид у колачиће и селективно брисање оних што су тренутно похрањени у прегледнику.
Већина прегледника омогућује истовремено брисање не само колачића, већ и лозинки, фраза кориштених у претрагама (типа фразе утипкане на Гооглеу) и слично.
Међутим, ваља нагласити да онемогућавање свих колачића увелике смањује функционалност већине страница, те се она обично сведе на минимум.
Мозилла Фирефоx
[уреди | уреди извор]У новијим верзијама Мозилле Фирефоx поставке у вези колачића могу се наћи на картици Привацy, у одјељку Хисторy. Оне су сљедеће:
- Аццепт цоокиес фром сите - омогућује колачиће
- Аццепт тхирд-партy цоокиес - прихваћа колачиће трећих страна
- Кееп унтил ... - могуће је одредити докад задржати колачиће, нпр. док је Фирефоx отворен
Постоји и гумб Еxцептионс... (енгл. изузеци) на којима је могуће навести које ће колачиће Фирефоx увијек прихваћати или пак увијек блокирати. Постоји већ дефиниран попис блокираних колачића, који имају везе са злонамјерних интернетским страницама.
Интернет Еxплорер
[уреди | уреди извор]У Интернет Еxплореру под Интернет Оптионс постоји картица Привацy, са клизачем којим се може одредити како ће прегледник поступати са колачићима. Постоји 6 разина, а навест ћемо их почевши од најстроже до најлибералније.
- Блоцк Алл Цоокиес - блокира све колачиће, а оне који се већ налазе на компјутеру ситеови не могу прочитати
- Хигх - висока сигурност
- Медиум Хигх - средње висока сигурност
- Медиум Лоw - нижа средња сигурност
- Лоw - ниска сигурност
- Аллоw Алл Цоокиес - прихваћа све колачиће