我怎样才能说服我的客户试图隐藏浏览器工具栏是个坏主意?

时间:2011-02-20 21:09:32

标签: php javascript security browser

我的客户有一位正在进行“安全测试”的朋友,他告诉他们我为他们构建的PHP Zend Framework应用程序需要在浏览器端执行这些操作:

  • 隐藏位置栏,工具栏,书签,菜单和后退/前进按钮
  • 禁用右键单击

这显然是一个非常糟糕的主意。我已经指出它隐藏了网站受SSL保护的事实,浏览器可以选择尊重这些请求,并且真正的破解者无论如何都会找到解决方法,因为它是客户端黑客。

除了这个想法的不好之外,它甚至可能吗?我已经完成的基本测试表明这只能在版本7之前,而在Firefox,Safari,Chrome中完全没有。这家伙坚持说在这些浏览器中是可能的,我还在等待概念验证。

  1. 有可能吗?无论是在弹出窗口还是在同一窗口中。
  2. 任何拒绝这种方法的可用性研究的潜在客户?
  3. 这个不到5年的想法是否有任何支持?
  4. 但更好的是:任何真正好的拆除这个想法,特别是来自任何安全机构的来源?

    我的客户信任这个人,所以我必须找到一些非情绪化的反驳论点。

    由于

6 个答案:

答案 0 :(得分:10)

指出

  1. 即使后退/前进按钮消失,几乎所有阳光下的GUI浏览器仍然具有无法移除的键盘快捷键,例如alt-leftarrow / alt-rightarrow用于导航,ctrl-d用于书签等...
  2. 大多数浏览器在其设置中都有“忽略禁用右键单击”选项。 2A。在右键菜单仍然可用的情况下,获取当前页面的URL非常简单,只需将其复制/粘贴到正常的非gimped窗口中,然后照常进行。
  3. 试图通过撞击人们的喉咙“禁用”窗口来实现安全性是糟糕的设计。如果你有一个文件或书签菜单,一个好的网站也不在乎,也不关心后退/前进是否可用。删除它们只会掩盖糟糕的设计决策。

    他所做的只是从用户的手中取出一把锤子,但是用户仍然躺着很多岩石。

答案 1 :(得分:3)

不确定这将提供多少帮助,我假设您已经提供了某种工作合同。简单地拒绝这样做。如果必须走开,走开。如果你的客户有一个如此专注于执行此类愚蠢任务的朋友,请让客户的朋友继续这样做并继续前进。

听起来像你已经到了需要走路或可能解雇你的客户的情况。

就个人而言,我甚至会接受这个想法。

祝你好运!

答案 2 :(得分:1)

我同意这是一个非常糟糕的主意,主要是从用户界面的角度来看。通过这样做,您打破了一个隐含的用户/应用程序合同,该合同表明应用程序不应该超出用户的正常界面。简而言之,它会让人失望。

通过提出一些如何绕过它的演示(参见Marc B的回答),拆除这种以某种方式增加安全性的想法应该很容易。

另一点是,如果它是“最佳实践”,你会看到很多人在那里做这件事。但是,你没有,因为它不是。举一些具有良好安全声誉的机构(银行,国防部网站等)的例子,并表明他们不需要这些东西才能保证安全。

答案 3 :(得分:0)

在Chrome中,它可以,但只能通过命令行开关,而不是通过javascript。

例如,假设Chrome已安装到c:/chrome/chrome.exe,那么您可以使用

启动您的网站
c:/chrome/chrome.exe --app=http://mysite.com

这对于内部Web应用程序类型的应用程序很有用,但对于一般的Web浏览则不行。

答案 4 :(得分:0)

至于实际说服力,还要求他们展示他们的银行在线会计网站。然后将您的安全方法(https)与在线银行系统(https)使用的方法进行比较。如果他们的银行使用某种形式的地址或状态栏删除,那么您仍然可以采用这种方法。 (只有window.open,这在当前的浏览器配置中非常受限制。)

Windows用户可视化地感知安全性。提供您的建议,实施客户的愿望,只要他们没有损害,然后走开。不要试图教育不可动摇的客户。

答案 5 :(得分:0)

也许你可以指出Jakob Nielsen(人机交互中的P.H.d.) 在可用性方面已经说过这个:

  

设计师打开新的浏览器窗口的理论是它将用户留在他们的网站上。但即使忽略了接管用户机器所隐含的用户恶意消息,该策略也会弄巧成拙,因为它会禁用Back按钮,这是用户返回以前网站的正常方式。用户通常不会注意到新窗口已打开,尤其是当他们使用小型监视器时窗口最大化以填满屏幕。因此,尝试返回原点的用户将被灰色的“后退”按钮弄糊涂。

来自:#9 in Top 10 Mistakes in Web Design