阻止用户转到任何其他网址

时间:2016-01-23 00:00:53

标签: python raspberry-pi2 kiosk

我目前正致力于 Raspberry Pi 2 运行 Raspbian Jessie 会员注册信息亭我们的技术工作空间。我已经解决了大多数问题,例如关闭浏览器,右键单击,键盘快捷方式以及管理员的安全登录。

我遇到的问题是,不受我控制的网站有外部网站的链接,我不希望我们的用户检查当前的网址,确保它是一个经批准的网址如果不是,则重定向。我已经用 Privoxy squid 以及 Python 软件进行了研究,但到目前为止还没有发现任何有用的东西。我是 Python 的新手,虽然它似乎是最有可能的解决方案, Privoxy 只是不起作用,似乎 Squid 真的不是意味着我正在努力做的事情。

总体目标是确保用户和自助服务终端之间良好,一致的互动,这样我们就不必经常重置设备和现场问题,例如“为什么它不起作用?”

我会一直搜索并发布我找到的任何内容,但感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案是创建自己的Web浏览器应用程序。您可以使用Chromium Embedded Framework执行此操作,这样您只需几行代码就可以将Chrome嵌入到您的应用程序中。 CEF有Python绑定,如果这是你的首选语言。为了限制导航,您需要创建自定义RequestHandler subclass并编写一个OnBeforeBrowse()函数,以防止用户导航到外部网站。控件相当精细,因此您可以编写不同的规则来处理iframe与主窗口导航。

您可能还想查看处理弹出窗口的LifespanHandler

注意在用户会话之间清除数据,一种简单的方法是终止应用程序并重新启动它。