博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web网站IP过滤功能第二版(C#)
阅读量:6962 次
发布时间:2019-06-27

本文共 1888 字,大约阅读时间需要 6 分钟。

第一个版本:

         这次主要是改进了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配置文件中配置数据库连接字符串(需要加密),格式示例:

         改进后的数据库关系:

         其中,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控制整个网站的权限。

转载地址:http://tcwsl.baihongyu.com/

你可能感兴趣的文章
java 版本SQLHelper
查看>>
Hyper-V中的VM如何使用Pass-through Disk
查看>>
黑马程序员—Java动态代理详解
查看>>
PHP发送HEAD方法请求
查看>>
OracleHelper[.Net 连接Oracle数据库的封装类]
查看>>
.net微信公众号开发——消息与事件
查看>>
动态网站维护基本命令
查看>>
透视表提取不反复记录(2)-每一个物品的全部分类
查看>>
基于jQuery/CSS3实现拼图效果的相册插件
查看>>
【问题解决】小数点前面不显示0的问题
查看>>
ios学习笔记(二)第一个应用程序--Hello World
查看>>
Maven学习总结(四)——Maven核心概念——转载
查看>>
怎么用CIFilter给图片加上各种各样的滤镜_2
查看>>
android:关于主工程和library project
查看>>
CodeForces 2A Winner
查看>>
Window环境配置Mongodb
查看>>
制作和unity调用动态链接库dll文件
查看>>
exsi6.0远程修改密码
查看>>
Header和Cookie相关内容
查看>>
20个可能你不知道Linux网路工具
查看>>