Desabilitar plugins, activex e barra de menus

Galera, Boa Noite!

Alguém tem idéia de como faço para desabilitar, no Browser, o uso da Barra de Menus e de Plugins ou de Controle Activex (exemplo: Adobe Acrobat ou outro que transforme a página web em PDF). O problema é que preciso impedir copiar e colar, imprimir ou transformar a página em PDF. Tô fazendo o sistema usando JS, Servlet, CSS e XHTML.
Sei que no Netscape e, provavelmente, no Firefox tem que usar script assinados pelo JavaScript, mas no Internet Explorer não consegui achar tal comando para JavaScript.
A solução pode ser em Java Servlet ou em JavaScript. Alguém pode ajudar?

Vicente Domingos

como é essa história de “script assinados pelo JavaScript”???

Desista. É um requerimento completamente sem cabimento solicitado por alguem que nao tem a menor nocao do que eh a Web.

Rafael

[quote=vicentedomingos]Galera, Boa Noite!

Alguém tem idéia de como faço para desabilitar, no Browser, o uso da Barra de Menus e de Plugins ou de Controle Activex (exemplo: Adobe Acrobat ou outro que transforme a página web em PDF). O problema é que preciso impedir copiar e colar, imprimir ou transformar a página em PDF. Tô fazendo o sistema usando JS, Servlet, CSS e XHTML.
Sei que no Netscape e, provavelmente, no Firefox tem que usar script assinados pelo JavaScript, mas no Internet Explorer não consegui achar tal comando para JavaScript.
A solução pode ser em Java Servlet ou em JavaScript. Alguém pode ajudar?

Vicente Domingos[/quote]
Com esses requesitos com certeza sua aplicação não podera ser web.

Galera, boa tarde!

Augusto: ‘Script JavaScript Assinados’ são parte da plolítica de segurança do JS baseada em Java e que consiste em poder acessar algumas funcionalidades do navegador que não estão disponíveis ‘normalmente’ ao progarmador - desabiliar a Barra de Navegação, de Menus e de Endereços. No Netscape isso era possível com o seguinte procedimento:

netscape.security.PrivilegeManager.enablePrivilege(“UniversalBrowserWrite”);
window.personalbar.visible = ! window.personalbar.visible;
window.toolbar.visible = ! window.toolbar.visible;
netscape.security.PrivilegeManager.disablePrivilege(“UniversalBrowserWrite”);

Fazem dois anos que comecei a ter contato com programação mais ‘complexa’ para web. Hoje estou usando Servlet, CSS, XHTML, XML, JS (AJAX). Então, faço tudo no navegador - separo tudo em 7 camadas, 3 no navegador e as demais no servidor. Daí o fato de precisar resolver essa parada - pode ser via Servlet ou via JavaScript.

Rafael Steil: Sem ofensa, estou pedindo ajuda. Pela lógica, ou isso é possível ou vai ser em determinado momento - senão a WEB 2.0 ( que eu acho que é a WEB que deveria ser desde sempre) não tem cabimento.

Furutani: O que você sugere? dá para fazer via Servlet ou qualquer coisa que eu possa solicitar via AJAX? dá uma dica, aí!

Na realidade estou perguntando se é possível e se alguém sabe como resolver isso. Como mostrado acima estava previsto no Netscape (pai do JS). Portanto, deve ter isso nos demais navegadores que o sucederam.

Vicente Domingos

Desculpe Augusto, acho que esqueci um detalhe sobre os ‘Scripts JS Assinados’. No caso, é necessário ter uma Certidão Digital, qualquer nível (1 a 4), para poder rodar o script e solicitar privilécgio no navegador cliente.

Vicente Domingos

Vicente,

nao eh possivel nao. Se o documento está na web e o cliente tem acesso (considerando aqui mesmo o caso onde voce faca uma area restrita, acessivel via login / senha), ele vai ser copiado descaradamente, e nao ha como impedir.

Mesmo que voce achasse uma maneira de desabilitar ActiveX no browser, basta utilizar qualquer componente (browser, SO etc) que nao faca uso de activex para tal tarefa.

Considere ainda qualquer programinha feito em 10 minutos que puxa o conteudo da pagina para o disco local…

Isso eh como querer bloquear o botao direito do mouse - a tia do mkt acorda de manha e, do auge da sua sabedoria, define isso como “regra essencial”.

Veja, a questao nao eh nem mais tecnica - a pergunta seria: “pq vc quer precisa fazer isso”? Se o cliente esta com o conteudo aberto no browser, significa que ele tem acesso (pago ou nao). Se ele nao tiver PDF - ou se nao tiver o componente instalado, apenas o leitor -, ele pode ir em Arquivo -> Salva Pagina Como… e ter o conteudo local; pode copiar e colocar no Word (que fica “perfeito”) e fazer o que quiser, posteriormente.

Voce quer impedir que o material seja copiado? Utilizar uma interface Flash, que le o texto via streaming, te da um esforco / beneficio muito melhor (embora ainda assim seja um workaround questionavel e nao falho)

Rafael

Raphael, valeu a resposta!

Mas, digamos que o site seja na intranet com acesso restrito, mas mesmo assim - eu queira impedir copiar, colar e imprimir. Quais as possibilitades? tenho 100 delas? então, quero impedir o máximo possível. Pergunta: quais os modos possíveis? desabilito os plugins, activex, barra de menus (opção imprimir), botão direito, impeço transformar em PDF ou semelhante…assim, fecho 99 possibilidades…fazer um quê…o resto é pq não deu, tô certo? agora estou procurando modos de fazê-las…capitou? se tiver alguma dica, manda, aí!

Vicente Domingos

Ironicamente, no seu caso, a melhor coisa a fazer é distribuir o conteudo em formato PDF seguro, onde, ai sim, vc pode desabilitar impressao, selecao de texto, modificacao etc etc diretamente no PDF.

Rafael

O Rafael falou tudo e te deu as mesmas dicas que eu poderia te dar.
Criar uma interface em flash ou distribuir o conteudo em PDF.
Não vejo outra forma de protejer o conteudo.
Se o conteudo é visivel em tela nada impede do cara usar um OCR para pegar alguma informaçao em formato texto.

Furutani e Rafael, e aí?

Seguinte: a própria Adobe informa que só pode garantir as restrições de impressão e alteração de contéudo (selecionar, copiar, colar) se o manipulador do PDF for um dos produtos dela. Entretanto, outro manipulador pode ser usado para ler, copiar, colar, etc…mesmo um PDF feito no Adobe Acrobat. Assim, essa segurança do PDF - também é limitada. Tô certo?
Por outro lado, conhece algum problema na segurança do Flash? digo, em relação a copia não permitida do conteúdo?
Ainda, é possível uma solução via Java - tipo uma interface toda feita em Java (Servlet, de preferência ou outra API)?
Se for possível uma interface em Java (qualquer API) mesmo assim o OCR vai ter acesso ao conteúdo? no caso, tem como Desabilitar o Leitor OCR?

Vicente Domingos

Se voce esta chegando nesse ponto, faca um programa que nao rode no browser que mostre o conteudo.

Por curiosidade, que tipo de documento eh esse que voce precisa tanto “impedir” a impressao / copia?

Rafael

Documentos jurídicos com assinaturas de juizes ou desembargadores talvez.

hm, mas se alguem quiser copiar a assinatura, basta tirar uma foto da tela, ou meter o dedao no print screen…

Rafael

Oi, Rafael!

É documento de repartição pública, com acesso só para determinados usuários, mas que eles não devem passar para terceiros - externos à repartição.

Bem não conheço tudo de Java, se é que se pode falar ‘tudo de java’, mas se fizer um aplicativo Desktop Java, posso proteger o conteúdo contra cópia, impressão, etc, que estaria em XHTML? ou seria o mesmo caso da pessoa poder usar OCR, PDF ou outro modo de ‘copiar’ e imprimir a informação?

Vicente Domingos

Do mesmo jeito que é impossível impedir uma pessoa de tirar xerox de uma folha de papel, é impossível impedir alguém de dar pelo menos um printscreen na tela e imprimir o conteúdo. O máximo que você pode fazer é dificultar fazendo alguma coisa em flash ou applet, ou gambiarras como abrir uma janela sem as opções de menu e desabilitar o botão direito do mouse.

Você pode colocar uma marca d’água escrito Confidencial, e um texto ameaçando a vida de quem imprimir que vai dar melhor resultado.

A melhor maneira de proteger a informação é restringindo o acesso. Depois que a pessoa tem acesso, ela faz o que quer, por isso só dê acesso a quem realmente pode ter e tem responsabilidade pra isso. O resto é incerto.

[]'s

Rodrigo Auler

Valeu, Rodrigo Carvalho Auler!

Obrigado, pelas informações. Se eu descobrir alguma forma de proteger o conteúdo eu posto aqui, prá dividir a informação com vocês.

Valeu a todos.

Se alguém tem alguma idéia a mais que as expostas, posta aí!

Vicente Domingos