이 문제에 대한 더 많은 정보는 David Baron의 포스트, 모질라의 버그질라나 보안 블로그의 글을 참고하시면 됩니다.
여러 해 동안 CSS :visited는 이용자의 기록을 가리키는 지표가 되어 왔다. 그것이 그 자체로 특별히 위험하지는
않지만, 자바스크립트의 getComputedStyle()와 결합할 때면 누군가가 당신이 있었던 곳을 계산하고 기록을 처리할 수 있다는 의미가 된다. 그리고 급하게 나온 어떤 테스트들은 분당 210,000개의 URL을 테스트할 수 있다는 것을 보여준다.
이 비율이라면 지문을 통해 당신의 신원을 알아내는 것과 같은, 당신의 기록에 대한 무시무시한 힘이 될 수도 있다. 브라우저들은 기록을 종종 상당한 시간동안 보관하고, 웹에서 당신이 있었던 곳에 대한 정보를 분명히 드러낼 수 있다.
모질라에서는 사람들의 프라이버이에 대해 진지하게 생각하고 있고, 그래서 우리는 모질라 사용자들을 위해 이 문제를 해결하려고 한다. 즉 파이어폭스에서 :visited가 동작하는 방식을 바꾸려고 한다. 우리는 어느 릴리즈가 이 부분을 포함할지 그리고 이 수정되는 부분이 코드리뷰를 통한 그 방식으로 만들어질지 결정하지 못했지만, 우리가 얼마나 이 문제 해결에 접근하기를 원하는지 사람들이 이해하고 관심을 기울여주기를 바란다.
이런 변화는 웹 사이트와 개발자들에게 몇 가지 영향을 미칠 것이며, 당신도 그것을 알게 될 것이다. 높은 수준에서, 어떤 변화가 일어날지 보면:
– getComputedStyle, 그리고 이와 유사한 함수인 querySelector은 거짓 정보를 주게 될 것이다. 이 함수들은 이용자가 사이트에 방문하지 않은 것처럼 값을 리턴하게 된다.
– 여전히 방문한 링크의 스타일을 보여줄 수 있지만, 사용하는데 제약이 있게 된다. 우리는 방문한 링크의 스타일에 사용되는 color, background-color, border-*-color, and outline-color, 그리고 채우거나 가장자리를 표시할 수 있는 속성의 컬러 파트와 같은 CSS 속성들을 제한할 것이다. 방문한 링크를 위한 다른 스타일에 대해서는, 방문하지 않은 링크의 스타일이 대신 사용될 것이다. 첨언하자면 바꿀 수 있는 속성들의 목록에서 당신은 rgba() 혹은 hsla() 컬러, 혹은 투명을 사용할 수 없게 된다.
이것들은 널리 쓰이는 것 중에서도 분명한 사례들이다. 다음은 선택자가 어떻게 잘 작동하는지에 대한 더 미묘한 변화들이다:
– :visited + span와 같은 sibling 선택자 를 사용하면 이 span 태그는 방문하지 않은 링크와 같은 스타일로 보인다.
– 중첩된(nestied) 링크나 matched가 기록에 남아있는 링크와 다른 것을 테스트하면, 해당 요소는 링크가 방문되지 않았던 것처럼 표시될 것이다.
마지막 두 가지 예는 혼동스러울 수 있다. 우리는 다른 포스트에서 예를 제시할 것이다.
웹 개발자에게 미칠 충격을 최소화하는 것은 우리가 할 일의 하나이다. 하지만 다음 영역의 부분은 사이트에 변화를 요구하게 될 것이다.
– 링크가 방문되었다는 것을 표시하기 위해 링크 스타일에 배경 이미지를 사용했다면 동작하지 않는다.
– 방문했다는 표시에 연결되는 CSS transitions은 지원하지 않을 것이다. 웹에는 CSS transitions가 많지 않아서 많은 사람들에게 영향을 미칠 것으로 보이지는 않지만, 우리가 지원하지 않는 다른 지표보다 가치가 있지는 않을 것이다.
당신이 사용하고 있는 CSS :visited에 대해, 또한 당신의 사이트에 어떤 영향을 미칠지에 대해 더 많이 듣기를 바란다. 끊어진 것에서 연유한 문제가 있다면, 우리는 적어도 그것을 문서화할 것이다.
혹은 다른 사람들도 잘 알 수 있도록 여기에 코멘트를 남겨달라.
* 원본 : privacy-related changes coming to CSS :visited by Christopher Blizzard
1개 댓글