技术资讯

网站中集成身份证验证功能

TIME:2012/6/8

大家都知道,网站程序是在服务器端执行的程序,无法直接与客户端的设备进行通信,但是客户提出了能否直接在网页上调用二代身份证读卡器。

一、解决思路

    经过我们的分析,理论上是完全可行的。下面描述一下这个问题的解决思路。

    1.编写一个AcitiveX控件,通过该控件就可以连接到身份证读卡器,并且读取卡上面的内容。

    2.利用javascript调用Activex的方法,将身份证上面的信息读取出来,并且填充到页面上的文本输入框。

    3.利用javascript将身份证照片文件也上传到服务器上 。

二、开发环境

    1.我们采用的是国腾二代身份证读卡器,其他的读卡器也类似,都提供了SDK义工调用

    2.采用VS2008作为开发工具

三、详细步骤

      1、开发读取身份证读卡器的ActiveX控件:所以开发的ActiveX控件采用了熟悉的C#语言,采用C#语言的缺点是客户端必须要安装.net framework2.0。

      该控件的实现就是调用读卡器的SDK,读取身份证上面的文本信息(如身份证号/性别/出生日期/发证机关/身份证地址等),同时还可以读取照片信息。由于我们所采用的设备直接将这些信息生出到c盘根目录,所以我用程序直接读取这些文件来实现。

     

       2、如何编写JavaScript代码

      在JavaScript中,如何初始化ActiveX控件并且调用ActiveX控件的方法。

      a.初始化控件调用

var   hello;
try{
    hello = new ActiveXObject("Train.Reg.Demo");
}catch(err){
    alert('您可能没有正确的安装身份证读卡器组件,或者浏览器设置不正确!\n\n错误信息为:' + err.description + '\n\n有关设置的详细信息请参考帮助!');
}

      b.调用控件的方法

Code
        var h = hello.TestCall();
        if(h==null) return false;
       
        var vIdCardNo = document.getElementById('<%=txtIdCardNo.ClientID %>');
        vIdCardNo.value = h.IdCardNo;
       
        var vName = document.getElementById('<%=txtFullName.ClientID %>');
        vName.value = h.Name;

        var aAddress = document.getElementById('<%=txtAddress.ClientID %>');
        aAddress.value = h.Address;

        var vSex = document.getElementById('<%=ddlSex.ClientID %>');
        vSex.value = h.Sex;

      c.利用VS2005中的fileUpload组件,上传图片的方法

Code
        var vUploadPath = document.getElementById('<%=FileUpload1.ClientID %>');
        vUploadPath.focus();
        var   WshShell;
        try{
            WshShell = new   ActiveXObject("WScript.Shell");
        } catch(err){
            alert('无法读取照片信息:浏览器设置不正确!\n\n错误信息为:' + err.description + '\n\n您需要将浏览器设置为 对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本 设置为启用\n\n或者参考帮助!');
        }
        WshShell.SendKeys(h.PhotoPath);
        WshShell.SendKeys("{TAB}");
        //vUploadPath.src = h.PhotoPath;
        setTimeout(function(){__doPostBack('ctl00$ContentPlaceHolder1$lbUpload','');},0);

上一篇

网络公司企业一窝蜂拼手机

下一篇

网站制作中oracl数据库的备份/还原方法