2009-10-27 10 views
5

Ho un progetto per creare un programma, che impedisce all'utente di sfuggire a un programma della GUI. Il programma è progettato per consentire agli studenti di sostenere esami. Il programma contiene una pagina del browser web.Jailing utente al programma della GUI in linux

Mi sono guardato intorno e ho chiesto in diversi punti come avrei dovuto farlo, e mi è stato consigliato Qt. Ora ho dei ripensamenti a riguardo ...

Sto usando Ubuntu 9.04 64 bit.

Qual è secondo te la soluzione migliore per gli utenti del carcere nei programmi GUI?

risposta

7

Prima di tutto, vedere this answer.

Il modo migliore per impedire agli utenti di utilizzare qualsiasi altra cosa è utilizzare full-screen mode e non avviare affatto un gestore di finestre. Quindi inizia X e poi la tua app e nient'altro.

[EDIT] Alcune cose che si deve prendere cura di:

  • Disabilitare la commutazione alla console di testo (di solito Ctrl - Alt - F1 .. F10)
  • Killing the X server (Ctrl - Alt - Backspace)
  • Magic Keys (Alt - SysRq -...)

Come si vede, questo può diventare arbitrariamente complessa. Pertanto, suggerisco di chiudere alcuni dei buchi e lasciare che gli hacker sprecare il loro tempo sugli altri. Se vogliono passare il loro tempo a hackerare il computer invece del test, va bene.

+0

Buon inizio, ma con tutto ciò ci vuole molto più impegno di quanto tu possa anticipare. Potrei fare Ctrl-F1, accedere alla console e avviare un secondo server X. E così via. –

+3

Sì. Ma tu sei l'orologio. Quindi se vuoi passare mezz'ora a hackerare il computer, fallirai. –

2

La prima cosa che vorrai fare è disable the Ctrl-Alt-Backspace key combination per impedire agli utenti fastidiosi di spegnere il tuo server X.

Quando si tratta di cosa scriverlo, penso che l'idea dei tuoi amici di Qt sia buona, probabilmente puoi scrivere l'intero programma in qualcosa dell'ordine di 50 righe. Se tutto ciò che ti interessa sono i pulsanti "Home", "Indietro" e "Avanti", puoi creare una semplice barra degli strumenti e utilizzare il widget QWebView per eseguire la tua visualizzazione web effettiva. Ciò impedirebbe all'utente di andare da nessuna parte poiché non avrebbe una barra degli indirizzi, e sarebbe comunque in grado di fare il test.

Se si desidera utilizzare un motore diverso da WebKit, si otterrà probabilmente molto più lavoro e WebKit dovrebbe funzionare comunque sulla maggior parte dei siti Web.

+0

+1 per disabilitare CA-BS –

+2

Non lo disabiliterei, aggiungerei un messaggio spaventoso. – patros

+2

Sono d'accordo con i patroni. Se si registrano tutti i tentativi di "hacking" dei partecipanti ai test con i risultati del test e si dà loro un messaggio in tal senso, li dissuaderà dal provare perché se non riescono a hackerare la macchina ea coprire adeguatamente le proprie tracce, ci sarà essere la prova che hanno imbrogliato – rmeador

0

Penso che la soluzione migliore sia i proctor e la registrazione video o la registrazione del sistema per l'utilizzo non accettabile (ad esempio, snapshot dell'elenco processi).

Qual è il tuo piano per impedire alle persone di introdurre materiali? O consultare il loro iPhone durante l'esame? O chiedere ai loro vicini? Non hai bisogno della tecnologia per risolvere un problema di politica.

+0

Se è possibile risolvere parte del problema di politica con la tecnologia, è possibile utilizzare meglio il proprio tempo per far rispettare il resto del problema di politica. –

4

Cosa stai cercando di impedire?

La mia ipotesi è che la cosa principale sia una restrizione per garantire che Google non risponda alle risposte.

Come approccio alternativo completamente diverso: Cripta lo stack di rete fino al punto in cui può (solo) raggiungere solo i server richiesti.

questo può essere fatto con pochi (relativamente efficaci) e semplici impostazioni:

  • No gateway predefinito, solo un gateway per la sottorete in cui si trova il server esame.
  • Nessun server DNS, solo un file di host fisso (OPPURE un server DNS di esami che contiene solo i server di esami).

Queste impostazioni possono essere raggiunte anche sintonizzando il server DHCP. Ciò semplifica il "criple/uncriple" di un'intera stanza di allenamento con un'impostazione e un riavvio di tutti i sistemi.

+0

Se vuoi salvaguardare contro googling, basta scollegare il cavo di rete (e assicurati che non sia installato il wifi). E devi comunque confiscare gli smartphone ... – cmaster

Problemi correlati