2011-11-29 2 views
1

저는 현재 작업하고있는 일부 프로젝트에서 저를 괴롭 히고 있습니다. 이 질문은 What's the difference if I put css file inside <head> or <body>? 또는 그와 유사한 내용과 중복되지 않습니다.html 파일의 본문에 외부 CSS가 있습니다.

예를 들어 이메일 서비스를 생각해보십시오. 사용자는 goodmail.ex의 이메일 수신함을 가지고 Badguy로부터 이메일을받습니다. Badguy는 goodmail.ex의 소스 코드를 알고 있으며 페이지에 사용자가 중요한 정보를 삽입해야하는 문자가있는 곳 옆에 입력이 있음을 알고 있습니다. 아니면 Badguy가 HTML 형식으로 편지를 쓰고 고정 위치 또는 절대 위치를 추가하여 블록 중 하나 (전자 메일 정보 - 로그인 및 암호 팝업, 사용자 세션 끝내고, 갱신하고, 데이터를 입력하십시오.) goodmail.ex 서비스와 같은 디자인이 있습니다. 사용자는 입력 한 내용이 적절하고 관련이 없다고 생각하므로이 정보는 다른 곳으로 전송됩니다.

그래서! 질문은이 CSS를 어떻게 차단할 수있는 것이 아니라 사용자 정의 파서로 필터링하는 것이 잘 작동해야하지만 goodmail.ex가 사용하는 CSS 클래스를 사용하도록 사용자를 차단할 수 있습니까? 예를 들어, goodmail.ex는 position : fixed에 대한 모든 글자를 필터링하지만, "goodmailfloatingbox"라는 클래스로 떠 다니는 블록을 가지고 있기 때문에 Badguy는 단순히 글을 쓰고 fakelogin은 고정 된 속성을 얻습니다. 이것은 실제로 잘 설명되지 않은 것이지만, 당신이 필요한 것을 이해하기를 바랍니다.

아, iframe은 옵션이 아닙니다.

그래서 기존의 정의 된 클래스 스타일을 페이지 중앙의 일부 코드로 덮어 쓰면 안전하고 최대한 많은 크로스 브라우저를 호환 할 수 있습니까?

+0

정말이 이메일 호스트의 관심사입니까? 이러한 유형의 기술을 가진 악의적 인 사용자가 나머지 사용자 이메일을 실제로 푸취해야합니까? 개인적으로 나는 전자 메일 서비스에서 이미지를 다운로드하고 스크립트를 차단할 때를 제외하고 대부분 전자 메일이 변경되지 않은 상태로 유지하는 것을 선호합니다. 악성 전자 메일의 모양과 차단 방법 (사용자의 정크 필터 등)을 사용자에게 알려줍니다. – rlemon

+0

정육점? 포지션 제거 : 고정 또는 절대적으로하고 싶은 일, 악의적 인 사용자 외에 다른 사람을 괴롭히는 방법은 무엇입니까? 페이지에 불쾌한 광고를 넣으려고 할 때 쓰레기로 메일을 보내고 싶지 않기 때문에이 작업을 수행하려고합니다. –

+0

나는 여전히 그것이 잘못된 접근이라고 생각한다. 하지만 그것은 내 의견이다. – rlemon

답변

1

당신은 stylelink와 값의 결과 배열은 다음 모든 loadede의 CSS 파일이 제대로 있는지 확인 할 수 있습니다에 대한 document.getElementsByTagName을 사용하는 짧은 스크립트를 작성할 수 있습니다 감사합니다.

기존 정의를 덮어 쓰려면 CSS 파일에서 !important을 사용하면 그 유형에 가장 많이 사용되는 스타일이됩니다.

페이지 중간에로드하려는 경우 본문에 나타나는 객체를 삭제하고 머리에 추가한다는 점을 제외하고는 여기 첫 번째 단락과 같은 기능을 수행하는 javascript 함수를 사용할 수 있습니다 목적. 아약스를 사용하여 페이지를 업데이트하면 그렇게됩니다.

관련 문제