Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 阻止用户转到任何其他URL_Python_Raspberry Pi2_Kiosk - Fatal编程技术网

Python 阻止用户转到任何其他URL

Python 阻止用户转到任何其他URL,python,raspberry-pi2,kiosk,Python,Raspberry Pi2,Kiosk,我目前正在一个树莓Pi 2运行树莓杰西会员登记亭我们的技术工作空间。我已经解决了大多数问题,例如关闭浏览器、右键单击、键盘快捷键以及管理员的安全登录 我遇到的问题是,这个不在我控制之下的网站有指向外部网站的链接,我不希望我们的用户检查当前的URL,确保它是经批准的URL,如果不是,则重定向。我已经用软件进行了研究,比如Privoxy和squid以及Python,但到目前为止还没有发现任何有效的方法。我对Python非常陌生,虽然它似乎是最有可能的解决方案,Privoxy就是不起作用,而且它似乎S

我目前正在一个树莓Pi 2运行树莓杰西会员登记亭我们的技术工作空间。我已经解决了大多数问题,例如关闭浏览器、右键单击、键盘快捷键以及管理员的安全登录

我遇到的问题是,这个不在我控制之下的网站有指向外部网站的链接,我不希望我们的用户检查当前的URL,确保它是经批准的URL,如果不是,则重定向。我已经用软件进行了研究,比如Privoxysquid以及Python,但到目前为止还没有发现任何有效的方法。我对Python非常陌生,虽然它似乎是最有可能的解决方案,Privoxy就是不起作用,而且它似乎Squid真的不是我想要做的

总体目标是确保用户和信息亭之间的良好、一致的交互,这样我们就不必不断地重置设备和现场问题,比如“为什么它不工作?”


我将继续搜索并发布我找到的任何内容,但感谢您的帮助。

一个可能的解决方案是创建您自己的web浏览器应用程序。您可以使用,它允许您只需几行代码就可以在应用程序中嵌入Chrome。CEF有Python绑定,如果这是您的首选语言的话。为了限制导航,您需要创建一个自定义并编写一个
OnBeforeBrowse()
函数,以防止用户导航到外部站点。控件是相当细粒度的,所以您可以编写不同的规则来处理iframe和主窗口导航

您可能还需要查看,它处理弹出窗口

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