2012-11-21 1 views
12

나는 JSHint를 사용하고 있는데, 그것은 다음과 같은 오류 있어요 :스크립트 타겟 URL의 문제점은 무엇입니까?

Script URL. 

나는 javascript:... URL을 포함하는 문자열이이 특정 라인에 때문에 일어난 것으로 나타났습니다.

JSHint가 scripturl 옵션이 설정되어 있고 코드베이스가 꽤 크기 때문에이 코드를 해제해야한다는 것을 알고 있습니다.

여전히 스크립트 URL을 사용하는 문제는 무엇인지 이해하지 못합니까?

+0

나쁜 습관입니다. – epascarello

+6

@epascarello : 그는 이유를 묻고 있습니다. – SLaks

+3

그래서 내가 왜 대답하지 않았습니까! 당신들은 멋진데! – epascarello

답변

19

javascript: URL은 'eval is evil'의 일부입니다.

javascript: URL을 실행하려면 브라우저에서 JS 파서를 실행하고 URL의 텍스트를 구문 분석해야합니다.
이것은 느리고 비용이 많이 드는 프로세스입니다.

또한 javascript: URL (또는 소스 코드가 포함 된 다른 문자열)을 조합하는 것은 XSS 취약점이있는 까다로운 작업입니다.

마지막으로 코드와 URL을 혼합하면 콘텐츠와 동작 (코드)이 분리됩니다.

+0

스크립트를 '