Kapag humiling ang isang browser sa isang lokal na server, nag-a-attach ito ng mga karagdagang header, tulad ng mga header ng host at pinagmulan, upang magbigay ng karagdagang impormasyon sa server. Ang mga header na ito ay may mahalagang papel sa pagtiyak ng seguridad at maayos na paggana ng mga web application. Sa sagot na ito, tutuklasin natin kung paano inilalagay ng browser ang mga header na ito at tatalakayin ang kahalagahan ng mga ito sa konteksto ng seguridad ng lokal na HTTP server.
Ang header ng host ay isang mahalagang bahagi ng kahilingan sa HTTP at ginagamit upang tukuyin ang target na host kung saan ipinapadala ang kahilingan. Kapag humihiling sa isang lokal na server, kasama sa browser ang header ng host upang isaad ang hostname o IP address ng server na gusto nitong makipag-ugnayan. Nagbibigay-daan ito sa server na matukoy ang nilalayong destinasyon ng kahilingan. Halimbawa, kung gustong i-access ng browser ang isang web page na naka-host sa isang lokal na server na may IP address na 192.168.0.1, isasama nito ang header ng host tulad ng sumusunod: "Host: 192.168.0.1." Pagkatapos ay ginagamit ng server ang impormasyong ito upang iruta ang kahilingan sa naaangkop na mapagkukunan.
Ang pinanggalingan na header, sa kabilang banda, ay isang mekanismo ng seguridad na ipinatupad ng mga modernong browser upang maprotektahan laban sa mga cross-origin na pag-atake. Tinutukoy nito ang pinagmulan kung saan ginawa ang kahilingan, kasama ang protocol, hostname, at numero ng port. Awtomatikong isinasama ng browser ang pinanggalingan na header sa mga kahilingan sa mga lokal na server upang matiyak na mabe-verify ng server ang pinagmulan ng kahilingan. Halimbawa, kung ang isang web page na naka-host sa "http://localhost:8080" ay humiling sa isang lokal na server sa "http://localhost:3000", isasama ng browser ang pinagmulang header tulad ng sumusunod: "Origin: http ://localhost:8080". Nagbibigay-daan ito sa server na patunayan na ang kahilingan ay nagmula sa inaasahang pinagmulan at nakakatulong na maiwasan ang hindi awtorisadong pag-access sa mga sensitibong mapagkukunan.
Bilang karagdagan sa mga header ng host at pinanggalingan, may iba pang mga header na maaaring ilakip ng mga browser kapag gumagawa ng mga kahilingan sa mga lokal na server. Halimbawa, ang header ng user-agent ay nagbibigay ng impormasyon tungkol sa application ng kliyente (ibig sabihin, ang browser) na gumagawa ng kahilingan. Tinutulungan ng header na ito ang server na maunawaan ang mga kakayahan at limitasyon ng kliyente, na nagbibigay-daan dito na makapagbigay ng mga naaangkop na tugon.
Mahalagang tandaan na habang inilalagay ng mga browser ang mga header na ito bilang default, maaari din silang baguhin o alisin sa iba't ibang paraan. Magagawa ito sa pamamagitan ng mga extension ng browser, proxy server, o sa pamamagitan ng direktang pagmamanipula sa kahilingan gamit ang mga diskarte sa programming. Samakatuwid, napakahalaga para sa mga administrator ng server na magpatupad ng naaangkop na mga hakbang sa seguridad upang ma-validate at ma-sanitize ang mga papasok na kahilingan, anuman ang pagkakaroon ng mga header na ito.
Kapag humiling ang isang browser sa isang lokal na server, nag-a-attach ito ng mga karagdagang header gaya ng mga header ng host at pinagmulan. Ang header ng host ay tumutukoy sa target na host ng kahilingan, habang ang pinanggalingan na header ay tumutulong sa pagprotekta laban sa mga cross-origin na pag-atake. Ang mga header na ito ay may mahalagang papel sa pagtiyak ng seguridad at maayos na paggana ng mga web application. Dapat malaman ng mga administrator ng server ang mga header na ito at magpatupad ng naaangkop na mga hakbang sa seguridad upang ma-validate at ma-sanitize ang mga papasok na kahilingan.
Iba pang kamakailang mga tanong at sagot tungkol sa EITC/IS/WASF Web Applications Security Fundamentals:
- Ano ang mga header ng kahilingan sa pag-fetch ng metadata at paano magagamit ang mga ito upang matukoy ang pagkakaiba sa pagitan ng parehong pinagmulan at mga kahilingan sa cross-site?
- Paano binabawasan ng mga pinagkakatiwalaang uri ang pag-atake sa ibabaw ng mga web application at pinapasimple ang mga pagsusuri sa seguridad?
- Ano ang layunin ng default na patakaran sa mga pinagkakatiwalaang uri at paano ito magagamit upang matukoy ang mga hindi secure na pagtatalaga ng string?
- Ano ang proseso para sa paglikha ng object na pinagkakatiwalaang mga uri gamit ang mga pinagkakatiwalaang uri ng API?
- Paano nakakatulong ang mga pinagkakatiwalaang uri ng direktiba sa isang patakaran sa seguridad ng nilalaman na mabawasan ang mga kahinaan sa cross-site scripting (XSS) na nakabatay sa DOM?
- Ano ang mga pinagkakatiwalaang uri at paano nila tinutugunan ang mga kahinaan ng XSS na nakabatay sa DOM sa mga web application?
- Paano makakatulong ang patakaran sa seguridad ng nilalaman (CSP) na mabawasan ang mga kahinaan sa cross-site scripting (XSS)?
- Ano ang cross-site request forgery (CSRF) at paano ito mapagsasamantalahan ng mga umaatake?
- Paano nakompromiso ng kahinaan ng XSS sa isang web application ang data ng user?
- Ano ang dalawang pangunahing klase ng mga kahinaan na karaniwang makikita sa mga web application?
Tingnan ang higit pang mga tanong at sagot sa EITC/IS/WASF Web Applications Security Fundamentals