저는 단순히 Discourse의 “일반적인” 관리 수단을 통해 iframe(또는 onebox, 혹은 해당 기술에 가장 적절한 용어가 무엇인지)의 사용(또는 처리, 렌더링 등)을 허용하거나 차단할 수 있는지를 묻고 있을 뿐입니다.
만약 답변에서 그렇게 활용할 수 있는 코드가 있다는 의미였다면, 그것은 저나 저와 같은 사람들에게는 맞지 않습니다. 저는 웹 개발자가 아니니까요.
하지만 @devel 님이 여기서 보신다면 - Discourse를 사용하기 시작한 지 얼마 되지 않았지만, 다양한 시스템의 관리자로 긴 경력을 가진 저로서는 궁금합니다:
사용자 "자유"라는 “철학적” 측면, 즉 임의의 콘텐츠(여기서는 순수하게 비디오에 한정하여)를 포함할 수 있는 권한에 대해 어떻게, 혹은 어떻게 결정하셨는지요?
제 생각에는 임베디드 비디오 콘텐츠와 같이 호스트/제공자조차 100% 제어할 수 없는 콘텐츠의 내용이라는 점에서 매우 중요한 요소는(제가 아는 모든 다른 컴퓨터 시스템이 이러한 유사한 중요한 기능을 처리하는 방식처럼) 사용자/그룹별로 세밀하게 제어되어야(해야 합니다) 합니다.
따라서, Discourse가 아직 이에 대해 고안하지 않았다면, 그리고 현재 Discourse에 이러한 제어 기능이 존재하지 않는다면, 가까운 미래에 이러한 “경화(hardening)” 메커니즘/기법을 포함해 주시기를 제안으로 드리고 싶습니다. Discourse가 이미 그렇듯이, 많은 사람들이 이러한 훌륭한 소프트웨어 솔루션이 더 좋아지는 것에 대해 감사할 것이라고 믿습니다.
기본적으로 Discourse는 사용자가 게시물에 대부분의 iframe 요소를 삽입하는 것을 허용하지 않습니다. 이는 allowed iframes 사이트 설정으로 제어됩니다. 이 설정은 게시물에 추가할 수 있는 iframe의 src 도메인 목록을 허용합니다.
그러나 사용자의 권한에 따라 어떤 iframe을 추가할 수 있는지를 제어하는 방법은 없습니다. staff allowed iframes와 같은 설정이 존재하지 않기 때문입니다.
대부분의 경우 Discourse는 "oneboxes"를 사용하여 외부 콘텐츠를 임베드합니다. 이를 통해 사용자가 게시물에 링크를 삽입할 수 있습니다. 일부 경우 Discourse는 이러한 링크를 iframe으로 변환합니다. 예를 들어, 게시물 편집기에서 YouTube 비디오 링크가 단독 줄에 추가되면, iframe에 표시되는 비디오 요소로 변환됩니다. Discourse가 이 방식으로 처리하는 도메인은 제한적입니다. 예를 들어 Vimeo, YouTube 등이 있습니다.
allowed onebox iframes 사이트 설정을 사용하여 iframe onebox가 생성되는 도메인을 제한할 수 있습니다. 이 설정의 기본값은 *입니다. 이를 제한하려면 해당 설정 아래에 표시되는 드롭다운 입력 필드를 클릭하세요. Discourse가 iframe으로 onebox하도록 구성된 도메인 목록에서 특정 도메인을 선택할 수 있습니다.
제 환경에서는 작동하지 않는 것 같습니다. 0으로 설정했는데도 불구하고 사용자가 iframe을 포함한 게시물을 작성하면, 프레임/플레이어가 예상대로 표시되고 정상적으로 재생됩니다.
이 설정을 무시하는 다른 파라미터나 옵션이 있을까요?
또한, 이 맥락에서 허용된 iframe을 어떻게 이해해야 하나요?
게시물당 최대 원박스 수 설정은 게시물에 추가할 수 있는 원박스의 수를 제어합니다. 여기서 용어가 혼동될 수 있지만, "원박스(onebox)"란 Discourse가 다양한 출처의 링크를 처리하는 방식입니다. 예를 들어, 브라우저의 주소창에서 YouTube나 Vimeo 비디오 링크를 게시물의 별도 줄에 추가하면, Discourse는 해당 링크에 대해 원박스 비디오 플레이어를 생성합니다.
게시물당 최대 원박스 수를 0으로 설정하면, 사용자는 이러한 유형의 원박스를 생성할 수 없게 됩니다.
현재 확인하고 계신 현상은 이 설정이 사용자가 게시물에 iframe 요소를 추가하는 것을 막지 못하기 때문인 것 같습니다. 사용자가 게시물에 iframe을 추가하는 것을 방지하려면, 사이트의 허용된 iframe 사이트 설정에 나열된 iframe 소스에서 하나 이상을 제거해야 합니다. 해당 설정의 기본값은 다음과 같습니다:
@simon - 알겠습니다, 감사합니다. 말씀하신 대로인 것 같습니다. 이제 그곳에서 어떤 일이 일어나는지를 더 잘 이해한 것 같습니다. URI에 iframe이 존재하는 경우, max oneboxes per post = 0은 iframe에 대해 아무 의미도 갖지 않는다는 뜻이죠.
다시 한 번 말씀드리자면, onebox &| iframe을 관리자/모더레이터에게만 허용하는 것은 불가능한 것이 맞습니까?