对于Python项目我使用 gtkmozembed MozEmbed()作为简单的HTML浏览器。我在寻找什么:
(1)限制,允许哪些服务器连接到,例如只有http://localhost
。
和/或
(2)一种" onClick()" 功能,用于检查用户点击的链接是否指的是允许的网页/服务器。
有人有想法吗?
答案 0 :(得分:1)
O.K。,这令人尴尬。我一直在stackoverflow上提问,不久之后在其他地方找到答案。遗憾。
然而,这里的答案是:gtkmozembed有一个名为"open-uri"的信号,它可以连接到这样的回调函数:
browser = gtkmozembed.MozEmbed()
browser.connect("open-uri", OpenUri)
def OpenUri(mozembed, uri, data=None):
if uri.startswith('http://localhost/'):
print "Will now open", uri, "..."
return False
print uri, "is not in the list of allowed uris." + "\nLoading denied."
return True
除非有人有更好的解决方案吗? ......我会用这个。
此解决方案不 100%保存。虽然用户无法直接打开不允许的链接,但源代码中嵌入了链接,例如
<img src="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png" />
或
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
仍然会被加载!