Conteúdo Remoto, PII e Hotlinking

Olá a todos, adoro a plataforma. Estou buscando orientação sobre como controlar locais de conteúdo remoto.

Por exemplo, quero impedir que recursos não confiáveis sejam carregados. Em um exemplo, eu poderia usar uma imagem .jpg; esta aqui " " não é realmente um arquivo .jpg, mas todos os visualizadores acabarão revelando seu endereço IP e, menos importante, seu user agent.

Gostaria de permitir apenas o upload de conteúdo que será renderizado, com exceção de alguns domínios, como YouTube ou plataformas comuns de armazenamento online.

Isso é possível com a versão atual do Discourse? Vou usar o fórum para análise forense na internet, e ele será perfeito para esse propósito se houver uma maneira de remediar esse vazamento de PII em locais como este e em conteúdos de perfil.

Obrigado!

Usei tokens canário para ‘fingir’ que o arquivo era um JPEG: http://canarytokens.com/ e o envolvi na sintaxe Markdown para uma imagem.

Evitamos o hotlinking baixando cópias de conteúdo remoto; a janela em que as pessoas podem ter uma imagem JPG hotlinkada é muito pequena.

Dito isso, não sou contra ter alguma opção no Discourse que nos permita substituir as imagens por uma mensagem de “baixando imagem” enquanto estamos no processo de baixar uma imagem hotlinkada.

Ei, Sam, obrigado pelo seu tempo. Consigo ver o user agent do Ruby nos meus logs aqui, mas se alguém visualizar meu perfil, recebo o IP do visualizador. Talvez o fetching/middleware não seja global para todas as áreas do aplicativo?

Acho que uma política de segurança de conteúdo (Content Security Policy) poderia resolver isso a curto prazo, mas, ao mesmo tempo, resultaria em uma experiência do usuário péssima enquanto eles descobrem o que está acontecendo, haha

Obrigado pelo seu tempo e pelas suas reflexões sobre isso!

Quer dizer que você fez hotlink de uma imagem na seção “Sobre mim”?

Com certeza não deveríamos permitir isso; acho que é um bug.

Ei Sam, está correto. Neste caso, eu invoco uma imagem remota com o comando de markdown ![](). Ainda não sou um usuário avançado, então não tenho certeza se existem outras maneiras suportadas de invocar conteúdo remoto, mas tente, acho que coloquei a minha no espaço ‘Sobre mim’ do meu perfil.

Acho que a regra ‘usuário novo não pode X’ não se aplica a esta área também.