Rebol 2에는 시작시로드 될 코드를 추가하기위한 user.r과 rebol.r 파일이있었습니다. Rebol R3의 경우 어떻게 변경 되었습니까?Rebol R3에는 어떤 구성 파일이 있으며 어떻게로드됩니까?
답변
현재 user.r은 보안 위험에 따른 것으로 나타났습니다. 이것이 일어날 수있는 방아쇠를 당긴 방법이 있어야합니다. 그러나 아무도 아직 그것에 대한 연구를 시작하지 않았습니다.
는 http://chat.stackoverflow.com/transcript/291?m=9149463#9149463가
REBOL 3에서 당신이 rebol
실행 파일과 같은 디렉토리에 저장하도록되어 rebol.r
를 사용하여 코드를로드를 참조하십시오. 해당 디렉토리의 파일은 사용자의 권한으로 실행되는 프로그램에서 쓰기 쉽기 때문에 사용자의 홈 디렉토리에서 rebol.r
을로드하지 않으므로 악성 코드를 넣을 수 있습니다. rebol
실행 파일을 저장하는 장소는 사용자 코드 작성에 대해보다 쉽게 보호 할 수 있다고 가정합니다.
파일 user.r
은 사용자 지정 설정 및 기본 설정을 저장하기 위해 예약되어 있으며 절차가없는 방언으로 표현됩니다 (아직 논의하지 않았 음). 비록 그것이 돌아 오더라도 코드를로드하는 방법이 아니기 때문에 rebol.r
이 사용자의 홈 디렉토리에서로드되지 않는 것과 같은 이유가됩니다. 그것은 단지 환경 설정을위한 것입니다.
사용자 특정 코드를로드하려면 rebol.r
의 코드를 사용하여 명시 적으로 지정하고 보안 문제에주의하십시오. 사용자 특정 코드에 대한 필요성은 Rebol 3에서는 드뭅니다.
Rebol 3의 모듈 시스템을 활용할 수도 있습니다. 대부분의 라이브러리 및 유틸리티 코드는 모듈에서 정의하는 것이 더 좋으며, system/options/module-paths
을 설정하여 해당 모듈을 둘 곳을 결정할 수 있습니다. 그런 다음 실제 위치를 알 필요없이 스크립트는 이름별로 실제 모듈을 가져옵니다. %.reb
이 마음에 들지 않으면 모듈의 기본 파일 확장자 인 system/options/default-suffix
을 설정할 수도 있습니다.
코드의 필요성이 스크립트에 국한되기 때문에 전역 적으로 사용할 코드를로드하는 것이 드뭅니다. 이러한 사용 중 하나는 rebol.r
에 확장을로드하여 보안을 잠그기 때문에 더 이상 확장을로드 할 수 없도록합니다. 이렇게하면 확장을 승인 된 목록으로 제한 할 수 있습니다. 모든 글로벌 코드는 지연로드 될 수 있으므로 필요없는 스크립트에 대해 시스템이 복잡해지지 않습니다. 지연로드 코드는 스크립트에서 요청하기 전에는 실제로 가져올 수 없습니다.
현재 시작시 gui를로드 할 필요가 있습니다. 그래서 load-gui에 rebol.r을 시도하고 편집기를로드합니다. –