现在的位置: 首页 > 综合 > 正文

实现获取客户端的MAC地址(2)

2012年04月04日 ⁄ 综合 ⁄ 共 1933字 ⁄ 字号 评论关闭

第三种方案,把第二种做为一个文件让用户下载,再让用户打开(变为本地),这时安全性原则就变了。然后再提交。
文件一:a.asp
<%@ language="VBScript" %>
<% Response.ContentType="application/download" %>
<% Response.AddHeader "Content-Disposition", "attachment;filename=A.HTM" %>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form method="post" id="form1" action="http://192.168.21.75/Get/b.asp">
<input type="text" name="XM" /><br />
<textarea id="RR" name="RR" cols="80" rows="5"></textarea>
<input type="button" id="ButUp" value="上传" onclick="ButUp_Click();" />
<script language="javascript">
  WshShell = new ActiveXObject("Wscript.Shell")
  WshShell.Run ("cmd.exe /c ipconfig /all >c:\\1.txt")

  var ForReading = 1;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  ts = fso.OpenTextFile("c:\\1.txt", ForReading);
  document.getElementById("RR").value = ts.ReadAll().replace(/\r\n/g, "");

  function ButUp_Click()
  {
    form1.submit();
  }
</script>
</form>
</body>
</html>
前面三句的目的是让网页打开时,弹出的是下载HTM文件的对话框,如果使用<a href="A.htm">下载</a>的方式进行,则是会打开网页。
提交时,把信息转给b.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
    <title></title>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
dim Conn, ConnStr
Set Conn=Server.CreateObject("ADODB.Connection")
ConnStr = "Driver={SQL Server};Server=192.168.0.8\srv1;UID=sa;PWD=301-zxb;database=fpMis"
Conn.Open ConnStr

dim sql
sql="insert into U01DNZL(XM, RQSJ, RR) " & _
    "values('" & Request("XM") & "', " & _
    "convert(char(19), getdate(), 25), " & _
    "'" & Request("RR") & "')"
Conn.Execute(sql)
Conn.close
 %>
 <font color="red">您的信息已提交成功!</font>
</body>
</html>

要说明的点是:这里使用asp,并且是vbScript的,因为我有一个功能调不来:即一个网页提交到另一个网页,另一个网页要用什么才能得到前一个网页的内容
另一点,a.asp中的输入框元素有用name,这样才能被b.asp抓到

现在说一下这种方案的问题:操作要小心翼翼,打开网页,问我们要保存还是打开,选择打开就完了。保存后,然后再去找这个文件打开,才能正常操作。
它还是依靠本地的安全性要设低一些才能,否则与因特网上的一样。
不过,如果配合提示信息,把本地安全性降低还说得过去。
window.onerror=function(err)
{
 if(err.indexOf("utomation")!=-1)
 {
  alert("请更改你的IE的安全级别:开始->设置->控制面板->Internet选项->安全->自定义级别->对没有标记为安全的ActiveX控件进行初始化和脚本运行->启用");
  return true;
 }
 else
  return false;
};

抱歉!评论已关闭.