我有一个项目来创build一个程序,它可以防止用户逃离GUI程序。 该程序是专为学生参加考试。该程序包含一个网页浏览器页面。
我环顾四周,在不同的地方问我应该怎么做,而且我已经被推荐Qt 。 我现在有第二个想法…
我使用的是Ubuntu 9.04 64位。
您认为在GUI程序中监禁用户的最佳解决scheme是什么?
首先,看到这个答案 。
防止用户使用其他任何东西的最好方法是使用全屏模式,而不是启动窗口管理器。 所以,只需启动X,然后是您的应用程序,而不是别的
[编辑]你必须注意的一些事情:
如你所见,这可能会变得任意复杂。 因此,我建议关闭一些漏洞,让黑客把时间浪费在其他的漏洞上。 如果他们想把时间花在计算机上而不是在测试上,那没关系。
你想阻止什么?
我的猜测是,最主要的是要确保他们不要Google的答案。
作为一种完全不同的替代方法:将网络栈压缩到可以(仅)到达所需的服务器的地步。
这可以用一些(相对有效的)和简单的设置来完成:
这些设置甚至可以通过调整DHCP服务器来获得。 这使得整个培训室可以轻松地对所有系统进行设置和重新启动。
你要做的第一件事就是禁用Ctrl-Alt-Backspace组合键 ,以防止烦人的用户关闭你的X服务器。
当谈到写什么的时候,我认为你的朋友对于Qt的理解是一个很好的想法,你可以把整个程序写成50行的东西。 如果您只关心“Home”,“Back”和“Forward”按钮,则可以制作一个简单的工具栏,并使用QWebView小部件来进行实际的网页浏览。 这将阻止用户去任何地方,因为他们没有地址栏,他们仍然可以进行测试。
如果你想使用WebKit以外的引擎,你可能会做更多的工作,WebKit应该在大多数网站上工作。
我认为最好的解决方案是监视器,无论是视频录制还是系统日志记录都是不可接受的(例如,进程列表快照)。
你有什么计划阻止人们携带材料? 或者在考试期间咨询他们的iPhone? 还是问邻居? 你不需要技术来解决政策问题。