栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

asp.net根据计算机MAC地址限定每台机子只能领取一次账号

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

asp.net根据计算机MAC地址限定每台机子只能领取一次账号

下面开始吧:
首先写一个简单的前台代码:
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>



无标题页






再来写一个后台代码,备注已经说的比较清楚,这里不多说了!
复制代码 代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.Regularexpressions;
using System.Diagnostics;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
labName.Text = labPass.Text = "";
}
protected void getNamePass_Click(object sender, EventArgs e)
{
//获取客户端的IP地址
string IP = Request.UserHostAddress;
//创建字符串变量
string dirResults = "";
//创建ProcessStartInfo对象表示启动进程时使用的一组值
ProcessStartInfo psi = new ProcessStartInfo();
//创建Process对象使您能够启动和停止本地系统进程
Process proc = new Process();
//设置要启动的应用程序或文档
psi.FileName = "nbtstat";
//设置不从Process.StandardInput流中读取输入
psi.RedirectStandardInput = false;
//设置要输出写入 Process.StandardOutput流
psi.RedirectStandardOutput = true;
//设置启动的应用程序中的一组命令参数
psi.Arguments = "-A " + IP;
//设置从可执行文件创建进程
psi.UseShellExecute = false;
//设置启动进程
proc = Process.Start(psi);
//获取StandardOutput输出流
dirResults = proc.StandardOutput.ReadToEnd();
//设置Process 组件无限期地等待关联进程退出
proc.WaitForExit();
//替换掉StandardOutput输出流中的"/r,/n,/t"
dirResults = dirResults.Replace("r", "").Replace("n", "").Replace("t", "");
//设置正则表达式
Regex reg = new Regex("MAC[ ]{0,}Address[ ]{0,}=[ ]{0,}(?((.)*?))MAC", RegexOptions.IgnoreCase | RegexOptions.Compiled);
//向获取的StandardOutput输出流添加"MAC"字符串
dirResults = dirResults + "MAC";
//获取cookie
Httpcookie oldcookie = Request.cookies["netCard"];
//获取正则表达式中的匹配项
Match mc = reg.Match(dirResults);
//获取网卡号去除掉“-”符合
string networkCard = mc.Groups["key"].Value.Replace("-", "");
//判断cookie是否为空
if (oldcookie == null)
{
//判断是否符合正则表达式的要求
if (mc.Success)
{
//显示帐号
labName.Text = "您的帐号为:" + networkCard;
//显示密码
labPass.Text = "您的密码为:1234";
//创建cookie对象
Httpcookie newcookie = new Httpcookie("netCard");
//设置cookie的有效时间
newcookie.Expires = DateTime.MaxValue;
//添加cookie中的值
newcookie.Values.Add("numberCard", networkCard);
//将cookie添加到cookie集合中
Response.cookies.Add(newcookie);
}
else
{
RegisterStartupscript("", "");
}
}
else
{
//获取cookie中的网卡号
string numberCard = oldcookie.Values["numberCard"];
//判断cookie中的网卡号是否和获取到的网卡号一致
if (numberCard.Trim() == networkCard.Trim())
{
RegisterStartupscript("", "");
}
else
{
//判断是否符合正则表达式的要求
if (mc.Success)
{
//显示帐号
labName.Text = "您的帐号为:" + networkCard;
//显示密码
labPass.Text = "您的密码为:1234";
//修改cookie中的值
oldcookie.Values.Set("numberCard", networkCard);
//将cookie添加到cookie集合中
Response.cookies.Add(oldcookie);
}
else
{
RegisterStartupscript("", "");
}
}
}
}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/58368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号