2014-11-21 60 views
0

我正在开发一个Web应用程序,它为拥有帐户登录到Web应用程序的用户提供一些服务。正如您可能已经知道的那样,可以通过提供用户名和密码以及某时的catcha代码以编程方式登录到网站。据我所知,可以通过编程来模拟请求。例如在c#中,我们可以提出请求并填写所有请求标题,例如User-Agent,Referer,..并将其发送到服务器以便登录。 但是,我的问题是如何防止用户登录通过浏览器以外的东西进入Web应用程序?通过编程防止登录到Web应用程序

谢谢。

+1

简答:你不能。更长:您可以尝试不同的技巧(例如,一些JavaScript等),但不保证没有人可以通过某个脚本而不是浏览器登录到您的网站。 – 2014-11-21 07:52:04

+0

感谢您的快速响应,请您详细解释所提到的技巧? – ali 2014-11-21 07:54:14

回答

0

所有你能做到的事情都会尽可能地提高障碍程度,并尽可能提高用户可以接受的程度。安全总是与便利性进行权衡。

您可以通过多种方式来提高屏障,但每种方法的应用程序在不同的应用程序中都有所不同。例如,您可以嗅探用户代理并根据列表对其进行检查,并拒绝未在列表中定义为浏览器的任何内容。在我们对员工可以使用的浏览器有特定的政策和控制的内部情况下,这种情况对我很有用。然而,对于一个Web应用程序来说,它可能会失败,因为列表需要进行管理,而外部世界的人可能会知道如何欺骗他们的用户代理。

这一切都取决于。您需要考虑威胁来自哪里的媒介,并尽可能防范这些威胁,而不是尝试一揽子方法。