PHP网站后台使用ukey登录
<p style="text-align: left"><span style="font-size: 16px">因为项目需要,所以就去研究了这个后台用ukey登录,也就是必须使用u盘才能进行登录网站后台</span></p><p style="text-align: left"><span style="font-size: 16px">下面先放一个淘宝的链接,这个东西就是在他哪买的</span></p>
<p style="text-align: left"><span style="font-size: 16px">https://item.taobao.com/item.htm?_u=81p7of6sd7c7&id=42619542116</span></p>
<p style="text-align: left"><span style="font-size: 16px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200608161336818-1228915626.png" alt="" loading="lazy"></span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 16px">资料下载页面</span></p>
<p style="text-align: left"><span style="font-size: 16px"><span style="font-size: 16px">http://www.dgyzt.com/D8_Download.html<span class="Apple-converted-space"> </span></span></span></p>
<p style="text-align: left"><span style="font-size: 16px"><span style="font-size: 16px">php需要下载的资料如下</span></span></p>
<p style="text-align: left"><span style="font-size: 16px"><span style="font-size: 16px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200608161822746-212966496.png" alt="" loading="lazy"></span></span></p>
<p style="text-align: left"><span style="font-size: 16px"><span style="font-size: 16px"><span style="font-size: 16px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200608161744951-1367952021.png" alt="" loading="lazy"></span></span></span></p>
<p style="text-align: left"> <img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200608161755256-64154063.png" alt="" loading="lazy"></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"> 下载这三个即可里面有对应的文档跟需要的工具跟代码列子</span></p>
<p style="text-align: left"><span style="font-size: 18px"> 解压出来会得到</span></p>
<p style="text-align: left"><span style="font-size: 18px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609092749766-1149756824.png" alt="" loading="lazy"></span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px">里面相关的工具跟代码列子对应各种语言</span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">拿到ukey如何实现后台登录</span></strong></p>
<p style="text-align: left"><strong><span style="font-size: 18px">1、打开开发工具去生成一个锁的种子ID</span></strong></p>
<p style="text-align: left"><span style="font-size: 18px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609093405209-1147459994.png" alt="" loading="lazy"></span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"> 这是操作步骤,必须要在插入ukey的时候进行。</span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"><strong>2、找到对应的代码列子可以直接复制他们的代码让他自动读取</strong></span></p>
<p style="text-align: left"><span style="font-size: 18px">读取的内容包括你设置好的账号密码等等,写入账户密码的工具如下</span></p>
<p style="text-align: left"><span style="font-size: 18px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609093902031-1735481149.png" alt="" loading="lazy"></span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"><span style="font-size: 18px">代码片段,我用到只有自动读取KeyID,也就是上面设置的锁ID</span></span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px">这里是相关代码,可以直接复制过去用,代码在例子里面都能找到,如果无法使用也可以去咨询客服,他们会有技术人员帮你,这点还是很不错的。</span></p>
<p style="text-align: left"> </p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_950261dd-199d-41d4-bd07-b4dabbb85870" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_950261dd-199d-41d4-bd07-b4dabbb85870" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_950261dd-199d-41d4-bd07-b4dabbb85870" class="cnblogs_code_hide">
<pre><SCRIPT LANGUAGE=javascript>
<span style="color: rgba(0, 0, 255, 1)">var</span> bConnect=0<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> load()
{
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(frmlogin.KeyID.value!="")<span style="color: rgba(0, 0, 255, 1)">return</span> ;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">如果已自动登录则退出</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">如果是IE10及以下浏览器,则使用AVCTIVEX控件的方式</span>
<span style="color: rgba(0, 0, 255, 1)">if</span>(navigator.userAgent.indexOf("MSIE")>0 && !navigator.userAgent.indexOf("opera") > -1<span style="color: rgba(0, 0, 0, 1)">)
{
setTimeout( Handle_IE10, </span>1000<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> ;
}
</span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
{
</span><span style="color: rgba(0, 0, 255, 1)">var</span> s_pnp=<span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> SoftKey3W();
s_pnp.Socket_UK.onopen </span>= <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">()
{
bConnect</span>=1;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">代表已经连接,用于判断是否安装了客户端服务</span>
setTimeout( login_onclick, 500<span style="color: rgba(0, 0, 0, 1)">);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">在使用事件插拨时,注意,一定不要关掉Sockey,否则无法监测事件插拨</span>
s_pnp.Socket_UK.onmessage =<span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> got_packet(Msg)
{
}
s_pnp.Socket_UK.onclose </span>= <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">()
{
}
setTimeout( err_Connect, </span>3000);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">如果在一定时间内还没有连接成功,就提示要安装服务</span>
<span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)">(e)
{
alert(e.name </span>+ ": " +<span style="color: rgba(0, 0, 0, 1)"> e.message);
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
}
}
</span><span style="color: rgba(0, 0, 255, 1)">var</span> digitArray = <span style="color: rgba(0, 0, 255, 1)">new</span> Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> toHex( n ) {
</span><span style="color: rgba(0, 0, 255, 1)">var</span> result = ''
<span style="color: rgba(0, 0, 255, 1)">var</span> start = <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">for</span> ( <span style="color: rgba(0, 0, 255, 1)">var</span> i=32; i>0<span style="color: rgba(0, 0, 0, 1)">; ) {
i </span>-= 4<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">var</span> digit = ( n >> i ) & 0xf<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (!start || digit != 0<span style="color: rgba(0, 0, 0, 1)">) {
start </span>= <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
result </span>+=<span style="color: rgba(0, 0, 0, 1)"> digitArray;
}
}
</span><span style="color: rgba(0, 0, 255, 1)">return</span> ( result == '' ? '0'<span style="color: rgba(0, 0, 0, 1)"> : result );
}
</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> login_onclick()
{
</span><span style="color: rgba(0, 0, 255, 1)">var</span> url =<span style="color: rgba(0, 0, 0, 1)"> window.location.host;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断是否安装了服务程序,如果没有安装提示用户安装</span>
<span style="color: rgba(0, 0, 255, 1)">if</span>(bConnect==0<span style="color: rgba(0, 0, 0, 1)">)
{
window.alert (</span>"未能连接服务程序,请确定服务程序是否安装。请访问“"+url+"/SetUp.zip”下载驱动安装即可,复制链接即可下载!");<span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> DevicePath,ret,n,mylen,ID_1,ID_2;
</span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
{
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">由于是使用事件消息的方式与服务程序进行通讯,</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">好处是不用安装插件,不分系统及版本,控件也不会被拦截,同时安装服务程序后,可以立即使用,不用重启浏览器</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">不好的地方,就是但写代码会复杂一些</span>
<span style="color: rgba(0, 0, 255, 1)">var</span> s_simnew1=<span style="color: rgba(0, 0, 255, 1)">new</span> SoftKey3W(); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建UK类</span>
<span style="color: rgba(0, 0, 0, 1)">
s_simnew1.Socket_UK.onopen </span>= <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">() {
s_simnew1.ResetOrder();</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">这里调用ResetOrder将计数清零,这样,消息处理处就会收到0序号的消息,通过计数及序号的方式,从而生产流程</span>
<span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">写代码时一定要注意,每调用我们的一个UKEY函数,就会生产一个计数,即增加一个序号,较好的逻辑是一个序号的消息处理中,只调用我们一个UKEY的函数</span>
s_simnew1.Socket_UK.onmessage =<span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> got_packet(Msg)
{
</span><span style="color: rgba(0, 0, 255, 1)">var</span> UK_Data =<span style="color: rgba(0, 0, 0, 1)"> JSON.parse(Msg.data);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> alert(Msg.data);</span>
<span style="color: rgba(0, 0, 255, 1)">if</span>(UK_Data.type!="Process")<span style="color: rgba(0, 0, 255, 1)">return</span> ;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">如果不是流程处理消息,则跳过</span>
<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">*
* 自动获取uk设置的账号密码跟ukeyid
* 要求只获取ukeyid所以没用上,后续需要对换一下switch即可
</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">
switch(UK_Data.order)
{
case 0:
{
s_simnew1.FindPort(0);//发送命令取UK的路径
}
break;//!!!!!重要提示,如果在调试中,发现代码不对,一定要注意,是不是少了break,这个少了是很常见的错误
case 1:
{
if( UK_Data.LastError!=0){window.alert ( "未发现加密锁,请插入加密锁");s_simnew1.Socket_UK.close();return false;}
DevicePath=UK_Data.return_value;//获得返回的UK的路径
//获取设置在锁中的用户名
//先从地址0读取字符串的长度,使用默认的读密码"FFFFFFFF","FFFFFFFF"
s_simnew1.YReadEx(0,1,"ffffffff","ffffffff",DevicePath);//发送命令取UK地址0的数据
}
break;
case 2:
{
if( UK_Data.LastError!=0){ window.alert("读数据时错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
s_simnew1.GetBuf(0);//发送命令从数据缓冲区中数据
}
break;
case 3:
{
if( UK_Data.LastError!=0){ window.alert("调用GetBuf时错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
mylen=UK_Data.return_value;//获得返回的数据缓冲区中数据
//再从地址1读取相应的长度的字符串,,使用默认的读密码"FFFFFFFF","FFFFFFFF"
s_simnew1.YReadString(1,mylen, "ffffffff", "ffffffff", DevicePath);//发送命令从UK地址1中取字符串
}
break;
case 4:
{
if( UK_Data.LastError!=0){ window.alert("读取字符串时错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
frmlogin.username.value=UK_Data.return_value;//获得返回的UK地址1的字符串
//获到设置在锁中的用户密码,
//先从地址20读取字符串的长度,使用默认的读密码"FFFFFFFF","FFFFFFFF"
s_simnew1.YReadEx(20,1,"ffffffff","ffffffff",DevicePath);//发送命令取UK地址20的数据
}
break;
case 5:
{
if( UK_Data.LastError!=0){ window.alert("读数据时错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
s_simnew1.GetBuf(0);//发送命令从数据缓冲区中数据
}
break;
case 6:
{
if( UK_Data.LastError!=0){ window.alert("调用GetBuf时错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
mylen=UK_Data.return_value;//获得返回的数据缓冲区中数据
//再从地址21读取相应的长度的字符串,,使用默认的读密码"FFFFFFFF","FFFFFFFF"
s_simnew1.YReadString(21,mylen,"ffffffff", "ffffffff", DevicePath);//发送命令从UK地址21中取字符串
}
break;
case 7:
{
if( UK_Data.LastError!=0){ window.alert("读取字符串时错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
frmlogin.password.value=UK_Data.return_value;//获得返回的UK地址21的字符串
s_simnew1.GetID_1(DevicePath); //发送命令取ID_1
}
break;
case 8:
{
if( UK_Data.LastError!=0){ window.alert("返回ID号错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
ID_1=UK_Data.return_value;//获得返回的UK的ID_1
s_simnew1.GetID_2(DevicePath); //发送命令取ID_2
}
break;
case 9:
{
if( UK_Data.LastError!=0){ window.alert("取得ID错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();return false;}
ID_2=UK_Data.return_value;//获得返回的UK的ID_2
frmlogin.KeyID.value=toHex(ID_1)+toHex(ID_2);
frmlogin.ukey.value=toHex(ID_1)+toHex(ID_2);
frmlogin.KeyID.value=frmlogin.KeyID.value.substr(0,6)+'****'+frmlogin.KeyID.value.substr(10);
//!!!!!注意,这里一定要主动提交,不能用提交类型的按钮,否则无法完全处理所有的消息
// frmlogin.submit ();
//所有工作处理完成后,关掉Socket
s_simnew1.Socket_UK.close();
}
break;
}
</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">*
* 自动获取ukeyid
* 要求只获取ukeyid所以没用上,如果需要自动获取ukey设置好的账号密码对换一下switch即可
</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(0, 0, 255, 1)">switch</span><span style="color: rgba(0, 0, 0, 1)">(UK_Data.order)
{
</span><span style="color: rgba(0, 0, 255, 1)">case</span> 0<span style="color: rgba(0, 0, 0, 1)">:
{
s_simnew1.FindPort(</span>0);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">发送命令取UK的路径</span>
<span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(0, 0, 255, 1)">break</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">!!!!!重要提示,如果在调试中,发现代码不对,一定要注意,是不是少了break,这个少了是很常见的错误</span>
<span style="color: rgba(0, 0, 255, 1)">case</span> 1<span style="color: rgba(0, 0, 0, 1)">:
{
</span><span style="color: rgba(0, 0, 255, 1)">if</span>( UK_Data.LastError!=0){window.alert ( "未发现加密锁,请插入加密锁");s_simnew1.Socket_UK.close();<span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;}
DevicePath</span>=UK_Data.return_value;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获得返回的UK的路径</span>
s_simnew1.GetID_1(DevicePath); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">发送命令取ID_1</span>
<span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">case</span> 2<span style="color: rgba(0, 0, 0, 1)">:
{
</span><span style="color: rgba(0, 0, 255, 1)">if</span>( UK_Data.LastError!=0){ window.alert("返回ID号错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();<span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;}
ID_1</span>=UK_Data.return_value;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获得返回的UK的ID_1</span>
s_simnew1.GetID_2(DevicePath); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">发送命令取ID_2</span>
<span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">case</span> 3<span style="color: rgba(0, 0, 0, 1)">:
{
</span><span style="color: rgba(0, 0, 255, 1)">if</span>( UK_Data.LastError!=0){ window.alert("取得ID错误,错误码为:"+UK_Data.LastError.toString());s_simnew1.Socket_UK.close();<span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;}
ID_2</span>=UK_Data.return_value;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获得返回的UK的ID_2</span>
<span style="color: rgba(0, 0, 0, 1)">
frmlogin.KeyID.value</span>=toHex(ID_1)+<span style="color: rgba(0, 0, 0, 1)">toHex(ID_2);
frmlogin.ukey.value</span>=toHex(ID_1)+<span style="color: rgba(0, 0, 0, 1)">toHex(ID_2);
frmlogin.KeyID.value</span>=frmlogin.KeyID.value.substr(0,6)+'****'+frmlogin.KeyID.value.substr(10<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">!!!!!注意,这里一定要主动提交,不能用提交类型的按钮,否则无法完全处理所有的消息</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> frmlogin.submit ();</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">所有工作处理完成后,关掉Socket</span>
<span style="color: rgba(0, 0, 0, 1)"> s_simnew1.Socket_UK.close();
}
</span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;
}
}
s_simnew1.Socket_UK.onclose </span>= <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(){
}
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)"> (e)
{
alert(e.name </span>+ ": " +<span style="color: rgba(0, 0, 0, 1)"> e.message);
}
}
</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> err_Connect()
{
</span><span style="color: rgba(0, 0, 255, 1)">var</span> url =<span style="color: rgba(0, 0, 0, 1)"> window.location.host;
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(bConnect==1)<span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> ;
alert(</span>"未能连接服务程序,请确定服务程序是否安装。请访问“"+url+"/SetUp.zip”下载驱动安装即可,复制链接即可下载!"<span style="color: rgba(0, 0, 0, 1)">);
}
</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> Handle_IE10()
{
</span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
{
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> DevicePath,mylen,ret;
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> s_simnew1;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建或控件</span>
<span style="color: rgba(0, 0, 0, 1)">
s_simnew1</span>=<span style="color: rgba(0, 0, 255, 1)">new</span> ActiveXObject("Syunew3A.s_simnew3"<span style="color: rgba(0, 0, 0, 1)">);
DevicePath </span>= s_simnew1.FindPort(0);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">'来查找加密锁,0是指查找默认端口的锁</span>
<span style="color: rgba(0, 0, 255, 1)">if</span>( s_simnew1.LastError!= 0<span style="color: rgba(0, 0, 0, 1)"> )
{
window.alert ( </span>"未发现加密锁,请插入加密锁");<span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
{
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取锁的ID</span>
frmlogin.KeyID.value=toHex(s_simnew1.GetID_1(DevicePath))+<span style="color: rgba(0, 0, 0, 1)">toHex(s_simnew1.GetID_2(DevicePath));
</span><span style="color: rgba(0, 0, 255, 1)">if</span>( s_simnew1.LastError!= 0<span style="color: rgba(0, 0, 0, 1)"> )
{
window.alert( </span>"获取ID错误,错误码是"+<span style="color: rgba(0, 0, 0, 1)">s_simnew1.LastError.toString());
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> frmlogin.submit ();</span>
<span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
}
}
</span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)">(e)
{
alert(e.name </span>+ ": " + e.message+"。可能是没有安装相应的控件或插件"<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
}
}
</span></SCRIPT></pre>
</div>
<span class="cnblogs_code_collapse">相关代码</span></div>
<p> </p>
<p><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609102306690-1064108621.png" alt="" loading="lazy"></p>
<p> </p>
<p><strong> <span style="font-size: 18px">此处是放一个自动安装包到你域名根目录下,当他提示服务没有安装的时候让他下载安装,就不用每次都来烦你为什么不能登录,安装包下面会有说明你选一个改一下名字就可以了放到网站根目录即可</span></strong></p>
<p> </p>
<p style="text-align: left"><span style="font-size: 18px">上面的代码片段有一个switch是可以获取设置好的账户密码跟KeyID的,已标注出来,但是因为用不上就注释掉代码了,另外一个是只获取KeyID。</span></p>
<p style="text-align: left"><strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)"> form表单代码如下</span></strong></p>
<p style="text-align: left"> </p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_3a89cd19-7f21-49a3-a9e4-6497c49c5b32" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_3a89cd19-7f21-49a3-a9e4-6497c49c5b32" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_3a89cd19-7f21-49a3-a9e4-6497c49c5b32" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">form </span><span style="color: rgba(255, 0, 0, 1)">action</span><span style="color: rgba(0, 0, 255, 1)">="?op=login"</span><span style="color: rgba(255, 0, 0, 1)"> id</span><span style="color: rgba(0, 0, 255, 1)">="frmlogin"</span><span style="color: rgba(255, 0, 0, 1)"> name</span><span style="color: rgba(0, 0, 255, 1)">="main"</span><span style="color: rgba(255, 0, 0, 1)"> method</span><span style="color: rgba(0, 0, 255, 1)">="POST"</span><span style="color: rgba(255, 0, 0, 1)"> onSubmit</span><span style="color: rgba(0, 0, 255, 1)">="return check_data()"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">div </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="login_box"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="display:none; "</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">div </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="box_top"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">div</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">div </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="login_area"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">table </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="100%"</span><span style="color: rgba(255, 0, 0, 1)">border</span><span style="color: rgba(0, 0, 255, 1)">="0"</span><span style="color: rgba(255, 0, 0, 1)"> cellspacing</span><span style="color: rgba(0, 0, 255, 1)">="0"</span><span style="color: rgba(255, 0, 0, 1)"> cellpadding</span><span style="color: rgba(0, 0, 255, 1)">="0"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">height</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> colspan</span><span style="color: rgba(0, 0, 255, 1)">="2"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="39%"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="30"</span><span style="color: rgba(255, 0, 0, 1)"> align</span><span style="color: rgba(0, 0, 255, 1)">="right"</span><span style="color: rgba(0, 0, 255, 1)">></span>用户姓名:<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="61%"</span><span style="color: rgba(0, 0, 255, 1)">><</span><span style="color: rgba(128, 0, 0, 1)">input </span><span style="color: rgba(255, 0, 0, 1)">name</span><span style="color: rgba(0, 0, 255, 1)">="username"</span><span style="color: rgba(255, 0, 0, 1)"> id</span><span style="color: rgba(0, 0, 255, 1)">="username"</span><span style="color: rgba(255, 0, 0, 1)"> type</span><span style="color: rgba(0, 0, 255, 1)">="text"</span><span style="color: rgba(255, 0, 0, 1)"> class</span><span style="color: rgba(0, 0, 255, 1)">="input"</span><span style="color: rgba(255, 0, 0, 1)"> size</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="width:120px"</span><span style="color: rgba(255, 0, 0, 1)"> value</span><span style="color: rgba(0, 0, 255, 1)">=""</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">height</span><span style="color: rgba(0, 0, 255, 1)">="30"</span><span style="color: rgba(255, 0, 0, 1)"> align</span><span style="color: rgba(0, 0, 255, 1)">="right"</span><span style="color: rgba(0, 0, 255, 1)">></span>登录密码:<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">><</span><span style="color: rgba(128, 0, 0, 1)">input </span><span style="color: rgba(255, 0, 0, 1)">name</span><span style="color: rgba(0, 0, 255, 1)">="password"</span><span style="color: rgba(255, 0, 0, 1)"> id</span><span style="color: rgba(0, 0, 255, 1)">="password"</span><span style="color: rgba(255, 0, 0, 1)"> type</span><span style="color: rgba(0, 0, 255, 1)">="password"</span><span style="color: rgba(255, 0, 0, 1)"> class</span><span style="color: rgba(0, 0, 255, 1)">="input"</span><span style="color: rgba(255, 0, 0, 1)"> size</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="width:120px"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">height</span><span style="color: rgba(0, 0, 255, 1)">="30"</span><span style="color: rgba(255, 0, 0, 1)"> align</span><span style="color: rgba(0, 0, 255, 1)">="right"</span><span style="color: rgba(0, 0, 255, 1)">></span>uKey序号:<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">><</span><span style="color: rgba(128, 0, 0, 1)">input </span><span style="color: rgba(255, 0, 0, 1)">name</span><span style="color: rgba(0, 0, 255, 1)">="KeyID"</span><span style="color: rgba(255, 0, 0, 1)"> id</span><span style="color: rgba(0, 0, 255, 1)">="KeyID"</span><span style="color: rgba(255, 0, 0, 1)"> type</span><span style="color: rgba(0, 0, 255, 1)">="text"</span><span style="color: rgba(255, 0, 0, 1)"> class</span><span style="color: rgba(0, 0, 255, 1)">="input"</span><span style="color: rgba(255, 0, 0, 1)"> size</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> value</span><span style="color: rgba(0, 0, 255, 1)">=""</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="width:120px"</span><span style="color: rgba(255, 0, 0, 1)"> autocomplete</span><span style="color: rgba(0, 0, 255, 1)">="off"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">input </span><span style="color: rgba(255, 0, 0, 1)">type</span><span style="color: rgba(0, 0, 255, 1)">="hidden"</span><span style="color: rgba(255, 0, 0, 1)"> name</span><span style="color: rgba(0, 0, 255, 1)">="ukey"</span><span style="color: rgba(255, 0, 0, 1)"> id</span><span style="color: rgba(0, 0, 255, 1)">="ukey"</span><span style="color: rgba(255, 0, 0, 1)"> value</span><span style="color: rgba(0, 0, 255, 1)">=""</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">height</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> colspan</span><span style="color: rgba(0, 0, 255, 1)">="2"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr </span><span style="color: rgba(255, 0, 0, 1)">align</span><span style="color: rgba(0, 0, 255, 1)">="center"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">align</span><span style="color: rgba(0, 0, 255, 1)">="right"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">align</span><span style="color: rgba(0, 0, 255, 1)">="left"</span><span style="color: rgba(0, 0, 255, 1)">><</span><span style="color: rgba(128, 0, 0, 1)">input </span><span style="color: rgba(255, 0, 0, 1)">type</span><span style="color: rgba(0, 0, 255, 1)">="submit"</span><span style="color: rgba(255, 0, 0, 1)"> value</span><span style="color: rgba(0, 0, 255, 1)">="登录系统"</span><span style="color: rgba(255, 0, 0, 1)"> class</span><span style="color: rgba(0, 0, 255, 1)">="button"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">colspan</span><span style="color: rgba(0, 0, 255, 1)">="2"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="40"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td </span><span style="color: rgba(255, 0, 0, 1)">colspan</span><span style="color: rgba(0, 0, 255, 1)">="2"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="38"</span><span style="color: rgba(255, 0, 0, 1)"> align</span><span style="color: rgba(0, 0, 255, 1)">="center"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">tr</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">table</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">div</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">div </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="box_bottom"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">div</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">div</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">form</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<p> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"><strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">还有个一个特别需要注意的点</span></strong></p>
<p style="text-align: left"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609094535495-2058005019.png" alt="" loading="lazy"></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"> 这里必须要加载他的函数,否则可能会无法自动读取,亲身踩出来的坑</span></p>
<p style="text-align: left"><strong><span style="font-size: 18px"> 在此页面还需要引用一个Syunew3.js文件,代码列子里面能找到</span></strong></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><strong><span style="font-size: 18px">3.进行测试</span></strong></p>
<p style="text-align: left"><span style="font-size: 18px"> 做好这些工作之后你就可以开始进行测试了,打开你需要验证的登录页面,他应该会提示你<strong> </strong></span><strong><span style="font-size: 18px">“未能连接服务程序,请确定服务程序是否安装” </span></strong><span style="font-size: 18px">,那么想就需要安装一个程序</span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"> <img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609095716586-318275895.png" alt="" loading="lazy"></span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"><span style="font-size: 18px"> 程序在这里一个是可以设置网址一个是不可以设置网址,可以设置网址的意思就是你插入ukey他会自动打开到你设置好的一个网址,怎么用里面有说明。</span></p>
<p style="text-align: left"><span style="font-size: 18px">然后安装好程序再打开之后,他会自动获取到你的KeyID了如下。</span></p>
<p style="text-align: left"><span style="font-size: 18px"><img src="https://img2020.cnblogs.com/blog/1675418/202006/1675418-20200609100647427-228593433.png" alt="" loading="lazy"></span></p>
<p> </p>
<p> </p>
<p><span style="font-size: 18px"> 验证的时候你把你生成的KeyID,放到数据库,如何是需要对应用户,那么就在你用户表多建一个字段存放,能自动获取到之后就剩下如何验证了。</span></p>
<p><span style="font-size: 18px"> 如果上面自动获取的代码实在不会可以去咨询客服客服会教你的,里面还有更高级的代码验证,需要的话可以去研究一下。</span></p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p><br><br>
来源:https://www.cnblogs.com/lcxin/p/13066779.html
頁:
[1]