以CGI身份运行已编译的C ++程序

时间:2011-04-14 06:31:03

标签: linux apache rest cgi biometrics

我们要将指纹身份验证添加到iPad应用中; 由于我们找不到适用于iPad的实际指纹硬件,我们发现DigitalPersona是一款出色的指纹扫描仪硬件供应商,也是Linux C / C ++的SDK。想法是用户点击“使用指纹进行身份验证”,这将使用指纹扫描程序向linux盒发送RESTful请求; linux框将运行已编译的C ++程序,该程序等待用户扫描他们的手指,确定匹配或不匹配,并将该响应发送回iPad程序的原始请求。

所以...只有很少的C ++经验,甚至更少的CGI(但很多PHP和Objective-C),我想知道这是否在技术上是可行的。在将结果发送到HTTP请求之前,通过HTTP访问的CGI二进制文件是否可以等待本地用户输入(在控制台)?

linux盒子会无头,我们控制一些LED来帮助让用户知道程序正在等待指纹扫描。

其他一些细节:  没有计划使用PHP。最初,我们需要三个设备: iPad的 Linux的 服务器

iPad运行的应用程序将具有生物识别身份验证IBOutlet; Linux上有指纹扫描器和基本的Apache;另外还有用于指纹扫描仪的C ++ SDK,我们将用它来构建CGI程序,当被调用(由服务器)时,等待扫描的手指,并且一旦扫描,发送“匹配”或“不匹配”到它的请求者。 服务器将是请求者。一旦收到来自iPad应用程序的请求,它就会调用Linux机器上的CGI程序,等待“匹配”或“不匹配”请求。

我团队的另一名成员提出了以下建议: iPad正在运行应用程序;用户点击'带指纹的身份验证',iPad处于“等待”状态 Linux有指纹扫描仪,用户扫描指纹,指纹通过HTTPS发送到服务器 服务器将接收指纹,并与用户匹配。然后检查是否有任何iPad处于“等待”状态,以及哪个用户启动了它。如果它与经过指纹认证的用户匹配,它会接受iPad的数据作为真实的打击,并将iPad从等待状态释放。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

基本上有两种方法可以做到这一点;您可以让您的PHP函数通过exec调用外部应用程序,或者您可以使用RudeCGICgiccfreeCGI直接在C ++中编写外部CGI。有很多库供您选择。

答案 2 :(得分:0)

为什么CGI需要等待用户输入?您可以在从Iphone获取输入并将其发送到CGI之后调用CGI ...然后您只需要阅读来自Iphone的CGI响应...