터키어 문자 ı와 보안 취약점

해커뉴스를 통해 재밌는 글을 읽었다. case mapping collision이라고 해서, 자바스크립트에서 ‘ß’.toLowerCase()가 ‘ss’가 되는 등 유니코드 일부 문자의 대소문자가 일반 로마자와 같은 것으로 취급된다고 한다. 터키어의 ‘ı'(“점 없는 i”)의 경우 소문자로 변환하면 ‘i’와 같아진다고 한다. 그래서 다음과 같은 상황이 벌어질 수 있다고 한다. 예컨대 깃허브에서는 패스워드 리셋을 요청할 때, string으로 입력받은 이메일 주소에 toLowerCase를 씌워 소문자로 […]

Read More 터키어 문자 ı와 보안 취약점

스테이지 vs. 면(面)

게임에서 보통 레벨이나 스테이지에 해당하는 단어를 일본에서는 面(멘, 이하 ‘면’으로 부름)이라고 부른다. 예컨대 1면, 2면 이런 식으로. 어쩌다 그렇게 됐는지 궁금해서 찾아보니 위키피디아에 장황한 설명이 있었다. 출처에도 등장하는 한 인터넷 기사를 다소 참조한 것으로 보인다. 해당 설명에서는 이 ‘면’이란 단위의 기원을 1978년 등장한 <스페이스 인베이더>로 보고있다. 한 화면에 등장한 적을 전부 없애는 것으로 다음 phase로 […]

Read More 스테이지 vs. 면(面)