Network programming 桌面应用程序是否需要验证码?

Network programming 桌面应用程序是否需要验证码?,network-programming,desktop-application,captcha,Network Programming,Desktop Application,Captcha,我正在为我们大学编写一个桌面应用程序。用户需要在使用此软件之前注册,注册请求也会发送到我编写的服务器。所以,我正在为一种网络应用程序而挣扎。(假设请求格式与发送到任意端口号的HTTP请求一样简单) 但现在我想知道是否有必要使用验证码来保护注册过程?我是否需要确保注册请求不是由计算机生成的?由于您的申请是针对有限的用户组(仅限您所在的大学),我认为您确实不需要验证码,因为这一组中有人想打扰您的风险非常低 此外,桌面应用程序的脚本编写比web应用程序的脚本编写要(稍微)复杂,这也将降低风险。如果您正

我正在为我们大学编写一个桌面应用程序。用户需要在使用此软件之前注册,注册请求也会发送到我编写的服务器。所以,我正在为一种网络应用程序而挣扎。(假设请求格式与发送到任意端口号的HTTP请求一样简单)

但现在我想知道是否有必要使用验证码来保护注册过程?我是否需要确保注册请求不是由计算机生成的?

由于您的申请是针对有限的用户组(仅限您所在的大学),我认为您确实不需要验证码,因为这一组中有人想打扰您的风险非常低


此外,桌面应用程序的脚本编写比web应用程序的脚本编写要(稍微)复杂,这也将降低风险。如果您正在努力进行机器人注册,您仍然可以将验证码作为更新发送,并且只接受更新版本的注册,不是吗?

我认为这会激怒人类用户,我相信,他们会让您的所有用户都注册。请注意,在网上,只有一小部分用户是机器人。校园怎么样?校园里有多少台电脑值得担心?此外,所有这些计算机都是由你认识的人监督的,即使其中一台(甚至所有)安装了一个程序与你开玩笑,你也可以打电话给大学当局。所以如果我是你,我会把我的时间放在其他事情的改进上。

不,你不需要验证码。验证码是由于网络浏览器的限制而产生的,同时仍然需要网站提供的广泛可用性。您的应用程序没有这两个限制。您的桌面应用程序可以实现它想要的任何安全方法,并且只需要将其分发到一组特定的客户端

这并不意味着你不应该设置一些安全策略来阻止校园(或互联网)中的任何人远程登录端口并创建帐户。这可以通过使用PKI和通过桌面应用程序分发唯一的私钥和公开密钥来实现。然后,服务器可以在接受注册之前验证客户机是否拥有私钥(此外,还可以加密客户机/服务器之间的任何通信)。当然,任何有权访问桌面应用程序的人都可以获得私钥,但这至少比不做任何事情来证明他们可以注册帐户更安全