"Segurança" (lado cliente) contra 'cola' em prova

6 respostas
D

Galera,

acredito que isto pode ser feito em JS, mas ainda não vi algo satisfatório.
Preciso proteger uma página: não deixar o cara dar alt tab, e nenhum outro atalho para mudar de janela
e / ou deixar a janela como ‘AlwaysOnTop’ (eita Swing). Claro, control C / control V e o click com o botão direito
também deve ser desativado.

Voces sabem se isto é possível só com JS?
Abraçoss…

6 Respostas

M

d34d_d3v1l:
Galera,

acredito que isto pode ser feito em JS, mas ainda não vi algo satisfatório.
Preciso proteger uma página: não deixar o cara dar alt tab, e nenhum outro atalho para mudar de janela
e / ou deixar a janela como ‘AlwaysOnTop’ (eita Swing). Claro, control C / control V e o click com o botão direito
também deve ser desativado.

Voces sabem se isto é possível só com JS?
Abraçoss…

você não vai conseguir impedir o usuário de mudar o foco para outra janela, isso acho que não tem como (eu posso estar errado mas acho improvável), quanto ao ctrl c e ctrl v não achoque dê para “impedir”, mas acho que da para “detectar”, e detectando você poderia gravar o texto a cada caracter preenchido e caso a ultima coisa que foi pressionada foram as teclas ctrl e v, você pode voltar o texto anterior… ou mudar alguma flag de “questão XX colada”. Isso ainda não impede de ir lendo de outro lugar mesmo de dentro do computador e ir digitando…

no browser suas opções são meio limitadas quanto ao controle da máquina do usuário, e por um bom motivo.

E

O Internet Explorer tem um modo “kiosk” (que você aciona com o parâmetro -k) mas ele não impede que você use Alt+Tab ou Ctrl+ESC para mudar de tela.

Normalmente o que eu vejo em testes de certificação (como os da Vue ou da Prometric) é uma aplicação Delphi ou .NET rodando sob um login do Windows bem maceteado, que não permite você rodar absolutamente nenhuma aplicação, exceto a aplicação de teste. Dá até para desativar o Ctrl+Alt+Del se você souber como macetear o login.

Nunca vi uma aplicação Web para provas de certificação.

(Obviamente você pode fazer sua aplicação Delphi ou .NET baixar as questões de um web site via algo semelhante a Web Services, mas não a aplicação em si.

Você pode até criar uma aplicação Delphi ou .NET que hospede um mini-browser, mas você tem de tomar bastante cuidado para que não apareça alguém que acabe, de alguma maneira, usando esse mini-browser para acessar alguma outra página que não as suas do teste.

B

Tambem acho pouco provavel isso funcionar da maneira que deseja. Eu usaria um Applet ou aplicativo mais especifico enviado do servidor, mas isso nao impede que o cliente utilize uma outra fonte para a cola (outro Pc, tablet, celular).

V

Acho mais fácil vc impedir o cara de responder aquela questão, e informa-lo do porque.

D

Com javascript você consegue desativar comandos como ALT + TAB e SHIFT + ALT + TAB, além de CTRL + V.
Porém, impedir que o usuário abra outra janela e vá consultando, é praticamente impossível. Além do que, os eventos do mouse que o js pode controlar é dentro da página em questão.
Com os browsers usando abas, você já perde essa propriedade, se o sujeito abrir duas abas, todo esforço será perdido.
Digo isto por que o sistema com o qual trabalho é web e permite apenas SHIFT + ALT + TAB e algumas coisas coisas (copiar e colar, só com o botão direito do mouse, por exemplo).

Seguindo à risca o conceito de cola, você não pode fazer muito, remotamente (a não ser que use uma webcam que fique focada na pessoa que faz a prova, ai são outros trocentos). O sujeito pode imprimir, consultar um livro, algum colega ou amigo, fazer ligação telefônica…

W

Para impedir o usuario de abrir uma nova janela, eh uma configuracao do sistema, veja em:
http://msdn.microsoft.com/en-us/library/ms814887.aspx

Outra alternativa eh alterar o registro do sistema, aqui tem um passo a passo:
http://www.liutilities.com/products/registrybooster/tweaklibrary/tweaks/10169/

Para impedir o usuario criar uma nova tab no IE:

Va eh Tools -> Internet Options

Na sessao “Tabs” clique “Settings” ai eh soh desabilitar a opcao “Enable Tabbed Browsing”

Pronto, o usuario nao vai pode mais criar tabs.

Isso eu acho que resolver parcialmente o seu problema, porque mesmo fazendo essas alteracoes, o usuario tem a possibilidade de abrir um segundo IE, mas eu acho que (como alguem ja disse), iniciando o IE em kiosk mode, vai resolver o seu problema e deixar o usuario usar somente o IE.

Aqui tem um tutorial explicando como usar o kiosk mode:
http://support.microsoft.com/kb/154780

Quanto ao copy and paste (CTRL C + CTRL V), aqui tem um post muito bom, usando JQuery.

http://www.mkyong.com/jquery/how-to-detect-copy-paste-and-cut-behavior-with-jquery/

Acho que com isso, vc faz tudo que vc quer nao eh???
O usuario nao pode abrir uma nova janela, nao pode abrir tab, nao vai poder abrir um novo browser e ctrl c + ctrl vc desativa usando JQuery. :slight_smile:

Enjoy!

//Daniel

Criado 16 de julho de 2012
Ultima resposta 10 de ago. de 2012
Respostas 6
Participantes 7