Web网站IP过滤功能第二版(C#)

第一个版本:http://blog.csdn.net/yangyuankp/article/details/7748110

这次主要是改进了Web端,把功能进行封装,变成一个dll类库,使用变得及其简单。并美化整合了后台控制界面。

同时小小的改动了一下数据库,把配置都放在了数据库里。因为web.config文件虽然能保存配置,但是只能读取,无法更改,非常不方便。客户端配置也在数据库中,并提供了界面式的管理,摒弃了第一版中手动修改的方案,界面如下:


改进后发布方法:

1.把IPManager文件夹放在网站根目录,通常是主页所在的目录。

2.在目标项目的UI层中引用IPLimit.dll。

3.在主页文件(验证地址)Page_Load事件中插入以下代码,并引用IPLimit命名空间(using IPLimit)。

//--------------------------IP过滤---------------------------------
//检查参数
if(!string.IsNullOrEmpty(Request.QueryString["ip"]) && !string.IsNullOrEmpty(Request.QueryString["mac"]) && !string.IsNullOrEmpty(Request.QueryString["time"]) && !string.IsNullOrEmpty(Request.QueryString["control"]))
{
    IPLimit.IPManager ipmanager = new IPLimit.IPManager();

    //参数解码
    string ip = Server.UrlDecode(Request.QueryString["ip"].ToString()).Replace(" ","+");
    string mac = Server.UrlDecode(Request.QueryString["mac"].ToString()).Replace(" ","+");
    string time = Server.UrlDecode(Request.QueryString["time"]).Replace(" ","+");
    string control = Server.UrlDecode(Request.QueryString["control"]).Replace(" ","+");

    //检查,获得返回信息
    string returnMessage = ipmanager.check(ip,mac,time,control);

    //根据返回信息判断是否允许访问
    if (returnMessage != "True")
    {
        Response.Redirect("~/IPManager/SetupClient.aspx?message=" + Server.UrlEncode(returnMessage));
        return;
    }
}
else
{
    Response.Redirect("~/IPManager/SetupClient.aspx?message=" + Server.UrlEncode("Error:请先安装客户端再使用本系统!"));
    return;
}
//------------------------------------------------------------------

4.在web.config配置文件中配置数据库连接字符串(需要加密),格式示例:

<addname="dataBaseString" connectionString="xxx " />

改进后的数据库关系:



其中,WebConfig表创建语句:


CREATE TABLE t_WebConfig(

    id bigint IDENTITY(1,1) PRIMARY KEY,

    configName varchar(900) NOT NULL UNIQUE,

    configValue varchar(900) NOT NULL

);

改进后的UI层关系:



效果图:



IPLimit.dll内部结构:



整体来说,第二版较第一版有很大的改动,尤其是Web端。

经过优化,Web端的使用已经相当便捷,整个发布过程不到三分钟,而且不容易出现问题,与原有系统基本无耦合。觉得最麻烦的就算配置数据库连接字符串了,这个必须手动完成。

如果将来出第三版,我想将会是把这个系统加入Session元素,让整个网站的每个页面都有IP过滤功能,通过IP控制整个网站的权限。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值