์ฟ ํค API๋ฅผ ์ ์ํฉ๋๋ค. ๋๊ธฐ๋ "PREF" ์ฟ ํค๋ ๊ทธ๋๋ก ๋๊ณ ์ถ์ ์ ์ค์ด๊ธฐ ์ํด google.com์์ "NID" ์ฟ ํค๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์
๋๋ค. document.cookie
์ ๋ฌธ์ ๋ "NID" ์ฟ ํค๊ฐ ".google.com"์ ์ํ๊ธฐ ๋๋ฌธ์ "PREF" ์ฟ ํค๋ง ํ์ํ๊ณ ๋ค๋ฅธ ๊ฒ์ ํ์ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. Firefox๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ๋๋ฉ์ธ๋ณ๋ก๋ง ๋นํ์ฑํ๋ฉ๋๋ค.
์ก์ธ์คํ ์ ์๋ ๋๋ฉ์ธ์ ๋ํ ์ ํ์ด ์๋ ์ผ๋ถ API๋ ์ด ๊ฒฝ์ฐ์ ๋์์ด ๋ ๊ฒ์
๋๋ค.
NID๋ httponly=true์ด๋ฏ๋ก document.cookie์์ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋๋ ์์ ์ ๋๋ฏธ ๊ฐ์ผ๋ก ์ฌ์ ์ํ ์ ์์ต๋๋ค.
ํ์ฌ ๋๋ฉ์ธ์์๋ ์ฌ์ ์ํ ์ ์์ง๋ง google.com ๋๋ฉ์ธ์์๋ ์ฌ์ ์ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฟ ํค๋ ์ข ์ข ์ฌ์ฉ์๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ฌ์ ํ ๊ณ ๋ ค๋ โโ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ด ์ ์์ต๋๊น? ์ฟ ํค๋ฅผ ๋ฌด์ํ๋๋ผ๋ ํ์ฌ ํ์ด์ง์ ์ฟ ํค๋ฅผ ๋์ดํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. http ์ฟ ํค์ ๋ํ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ ์ก์ธ์ค๋ ์๋ฅผ ๋ค์ด GM_cookie()
API๋ฅผ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ฌผ๋ก ์ด๋ก ์ ๊ทธ๋ด ์ ์๋ค. ๊ทธ๋ฌ๋ ์ด์ ํ๋์ Greasemonkey์
(IMO ์ฌ์ดํธ๋ ์ค์๋ก HttpOnly๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ ์๋์ ์ผ๋ก ๊ตฌํ๋ ๋ณด์ ๊ธฐ๋ฅ์ ๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ก๋ฅผ ๋ง๋ค๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ์์ค API์ ์ก์ธ์คํด์ผ ํ๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก๋ง Firefox๊ฐ ๋๊ณ ์ ํฉ๋๋ค.)
๊ทธ๋ฐ ์ค๋๋ ๋ฌธ์ ์ ๋๊ธ์ ๋ฌ์์ ์ฃ์กํฉ๋๋ค.
์์ ์ ๋๋ฏธ ๊ฐ์ผ๋ก ์ฌ์ ์ํ ์ ์์ต๋๋ค.
ํด๋ดค๋๋ฐ ์๋๋๊ฑฐ ๊ฐ์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ HttpOnly ํ๋๊ทธ๋ก ์ผ๋ถ ์ฟ ํค๋ฅผ ์ ์งํ๋ ๋์ JS์์ ์ก์ธ์คํ๊ฑฐ๋ ๋ฎ์ด์ธ ์ ์์ต๋๋ค.
๊ฐ๋ ฅํ ์ผ์ด์ค๊ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ๊ฒฝ์ฐ๊ฐ ์ผ๋ง๋ ๊ฐ๋ ฅํ์ง ํ์คํ์ง ์์ง๋ง ํน์ ์ฌ์ดํธ์์ ์๋ฏธ ์๋ ๋ฆฌ๋๋ ์ ์ ํผํ๊ธฐ ์ํด ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ์์ ์ฟ ํค๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ฌ HttpOnly ํ๋๊ทธ๋ก ์๋ฒ ์ธก์์ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ฝํ ์์ ์๋๋ฆฌ์ค๋ฅผ ์ ์ํ๊ฒ ์ต๋๋ค. ์ฟ ํค์ ์ ์ฒด ํธ์คํธ๊ฐ ์๋ ํ์ด์ง์์ ์คํฌ๋ฆฝํ ํ๊ณ ์์ต๋๋ค. ํ๋์ ์ฟ ํค๋ก ์ธํด ์ผ๋ถ ์ด์ํ ๋์์ธ ์ ํ์ผ๋ก ์ธํด ์ ์ฒด ์น ์ฌ์ดํธ๊ฐ ๋ค๋ฅด๊ฒ ๋ ๋๋ง๋ฉ๋๋ค. ์ฟ ํค๋ ์ด๋์์๋ ๋ก๊ทธ์์ํ ์ ์๋ ์น์ฌ์ดํธ์ ํน์ ๋ถ๋ถ์ ๋ก๊ทธ์ธํจ์ผ๋ก์จ ์ค์ ๋ฉ๋๋ค. ์ด ์ฟ ํค๊ฐ httponly ํ๋๊ทธ๋ก ์ค์ ๋์ด ์์ผ๋ฉด ํ์ค document.cookie ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์ ์์ต๋๋ค. httponly๋ฅผ ํตํด ๋ณดํธ๋๋ ์ฟ ํค๋ฅผ ์ค์ /์ฌ์ ์/์ญ์ ํ ์ ์๋ GM_cookie ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ด ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
๋๋ document.cookie
๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ฟ ํค ์กฐ์์ ํ๊ณ ์ถ์ ๋ช ๊ฐ์ง ์ํฉ์ ์ง๋ฉดํ์ต๋๋ค. ์ด๊ฒ์ ์ ํ๊ธฐ ์ํด ๊ณ ๋ คํด์ผ ํ ๋ง์ ๊ฒ๋ค์ด ์์ต๋๋ค ...
๋๋ ์ฌ๊ธฐ๋ฅผ ๋ณผ ๊ฒ์ ์ ์ํฉ๋๋ค(ํ๋์ ์๋ง):
https://dxr.mozilla.org/mozilla-central/source/devtools/shared/gcli/commands/cookie.js
( nsICookieManager2 )
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋
document.cookie
๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ฟ ํค ์กฐ์์ ํ๊ณ ์ถ์ ๋ช ๊ฐ์ง ์ํฉ์ ์ง๋ฉดํ์ต๋๋ค. ์ด๊ฒ์ ์ ํ๊ธฐ ์ํด ๊ณ ๋ คํด์ผ ํ ๋ง์ ๊ฒ๋ค์ด ์์ต๋๋ค ...