리버티게임:스크립트 지침: 두 판 사이의 차이
(→권장사항) |
잔글 (→권장사항) |
||
41번째 줄: | 41번째 줄: | ||
== 권장사항 == | == 권장사항 == | ||
다음은 반드시 준수될 필요는 없으나, 문제가 될 경우 | 다음은 반드시 준수될 필요는 없으나, 문제가 될 경우 관리자의 재량에 따라 승인을 거부하거나 실행을 차단할 수 있는 사유가 됩니다. | ||
* 다른 스크립트에서 사용하는 함수나 이벤트, 설정은 가급적 변경하지 않아야 합니다. | * 다른 스크립트에서 사용하는 함수나 이벤트, 설정은 가급적 변경하지 않아야 합니다. | ||
* 가급적 사이트 외부와 데이터를 주고받지 않아야 합니다. | * 가급적 사이트 외부와 데이터를 주고받지 않아야 합니다. | ||
* 주요 브라우저(크롬, 파이어폭스, 사파리)의 정식 출시된 최신버전에서 정상적으로 작동되어야 합니다. | * 주요 브라우저(크롬, 파이어폭스, 사파리)의 정식 출시된 최신버전에서 정상적으로 작동되어야 합니다. |
2024년 12월 23일 (월) 18:45 판
스크립트의 종류
'스크립트'는 사용자의 브라우저에서 작동하는 자바스크립트 프로그램입니다. 리버티게임에서 사용되는 스크립트의 종류는 다음과 같습니다.
- 관리자가 승인하는 스크립트
- 사용자가 승인하는 스크립트
- 사용자가 작성한 스크립트
- 그 외 다른 스크립트에서 호출되는 자바스크립트 코드
스크립트의 승인
관리자의 사전 승인을 받거나, 스크립트를 실행하는 사용자의 동의를 받은 스크립트만 실행될 수 있습니다.
사용자가 스스로 작성하여 직접 실행하는 사용자 스크립트에는 동의 절차가 필요하지 않습니다.
다음에 동의 없이 실행할 수 있다는 점을 명시하여 함께 동의를 받으면 코드가 바뀌지 않았을 때 동의 없이 다시 실행할 수 있습니다. 단, 동의는 철회할 수 있어야 합니다.
사용자가 스크립트를 동의할 때 코드의 의미를 알 수 있어야 하고 난독화되어서는 안됩니다. 단, 개별적인 동의가 필요한 기능이 차단된 샌드박스 환경에서 작동되는 스크립트는 해당하지 않습니다.
다음 기능에 대해서는 개별적인 동의가 필요합니다.
- 문서 편집
- DOM 요소 수정
- 미디어위키 사용자 설정 변경
- 외부 링크로의 페이지 리다이렉트
고정된 템플릿을 이용하여 동일한 문서를 편집하는 경우, 다음에 동의 없이 편집할 수 있다는 점을 명시하여 한번 동의를 받으면 그 이후에는 동의 없이 자동으로 문서를 편집할 수 있습니다. 단, 동의는 철회할 수 있어야 합니다.
지금 바로 문서를 편집하지 않더라도 나중에 동일한 템플릿을 이용해서 편집할 가능성이 있는 문서 목록이나 문서 제목의 패턴을 제시하여 일괄적으로 동의를 받을 수 있습니다.
스크립트의 제한
다음에 해당하는 스크립트는 관리자의 재량에 따라 승인을 거부하거나 실행되지 못하게 조치할 수 있습니다. 단, 그 이유는 명시해야 합니다.
- 취약점이 있거나 악용의 우려가 있는 스크립트
- 다른 스크립트와 충돌하는 HTML ID/클래스, 로컬 저장소, 미디어위키 사용자 옵션 키를 사용한 스크립트
- 사이트의 성능을 현저하게 저하시키거나, 저하시킬 우려가 있는 방식으로 구현된 스크립트
사용자가 이미 승인한 경우라도, 여기에 해당되는 스크립트는 관리자가 사후에 실행을 차단할 수 있어야 합니다.
권장사항
다음은 반드시 준수될 필요는 없으나, 문제가 될 경우 관리자의 재량에 따라 승인을 거부하거나 실행을 차단할 수 있는 사유가 됩니다.
- 다른 스크립트에서 사용하는 함수나 이벤트, 설정은 가급적 변경하지 않아야 합니다.
- 가급적 사이트 외부와 데이터를 주고받지 않아야 합니다.
- 주요 브라우저(크롬, 파이어폭스, 사파리)의 정식 출시된 최신버전에서 정상적으로 작동되어야 합니다.