[SQL注入检查工具]产品设计(二)

本文介绍了一种页面链接管理方案的设计思路,包括链接地址实体类CLinkAddress与详细信息类CLinkAddressDetail的定义,以及操作页面地址的CGetLinkRule类初步实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从项目中看,最稳定的包应该是页面链接队列包,所以我们从最稳定的地方开始设计,首先我们需要一个链接的实体类,我把他拆分为两个类

1、 CLinkAddress 链接地址 实体类 用于记录地址信息的,也是待查地址信息的数据存储的地方

2、CLinkAddressDetail  链接地址详细信息 实体类 继承于CLinkAddress ,新增加文件建立时间,文件访问状态,文件引用地址

再一个,我们这个包里最重要的是得到页面地址,所以我们需要建立一个CGetLinkRule类来操作页面地址,这个类里面也就暂时先定义一个方法 GetLinkInPage 来得到页面的地址,明天再细化这个类

下面给出上面三个类的定义代码,我把实体类先写了,后面页面地址操作类只是有个定义

 

/**********************************************
 * 程序员:        郑永丹                          
 * 修改日期:      2007-11-06
 * 程序内容:
 *              链接地址 实体类
 *        
 *        
 *        
 * *********************************************
*/

using System;
using System.Collections.Generic;
using System.Text;

namespace SiteSQLCheck.Model
{
    
/// <summary>
    
/// 链接地址 实体类
    
/// </summary>

    public class CLinkAddress
    
{
        
/// <summary>
        
/// 构造函数
        
/// </summary>

        public CLinkAddress()
        
{ }

        
/// <summary>
        
/// 构造函数
        
/// </summary>
        
/// <param name="lAddress">链接地址</param>

        public CLinkAddress(string lAddress)
        
{
            
this._LinkAddress = lAddress;
        }


        
private string _LinkAddress = "";       //链接地址
        /// <summary>
        
/// 链接地址
        
/// </summary>

        public string LinkAddress
        
{
            
get return _LinkAddress; }
            
set { _LinkAddress = value; }
        }

        
    }

}

 

 

/**********************************************
 * 程序员:        郑永丹                          
 * 修改日期:      2007-11-06
 * 程序内容:
 *          链接地址详细信息 实体类
 *        
 *        
 *        
 * *********************************************
*/

using System;
using System.Collections.Generic;
using System.Text;

namespace SiteSQLCheck.Model
{
    
/// <summary>
    
/// 链接地址详细信息 实体类
    
/// </summary>

    public class CLinkAddressDetail : CLinkAddress
    
{
        
/// <summary>
        
/// 构造函数
        
/// </summary>

        public CLinkAddressDetail()
        
{ }

        
private DateTime _FileTime = DateTime.Parse("1999-1-1");//链接创建时间
        /// <summary>
        
/// 链接创建时间
        
/// </summary>

        public DateTime FileTime
        
{
            
get return _FileTime; }
            
set { _FileTime = value; }
        }


        
private string _RefLinkAddress = "";//引用地址,也是上一级地址
        /// <summary>
        
/// 引用地址,也是上一级地址
        
/// </summary>

        public string RefLinkAddress
        
{
            
get return _RefLinkAddress; }
            
set { _RefLinkAddress = value; }
        }




        
private AddressCheckStatus _CheckStatus = AddressCheckStatus.UnCheck;       //链接检查状态
        /// <summary>
        
/// 链接检查状态
        
/// </summary>

        public AddressCheckStatus CheckStatus
        
{
            
get return _CheckStatus; }
        }


        
/// <summary>
        
/// 设置为无注入链接
        
/// </summary>

        public void SetIsOkLink()
        
{
            
this._CheckStatus = AddressCheckStatus.IsOkLink;
        }


        
/// <summary>
        
/// 设置为有注入链接
        
/// </summary>

        public void SetIsBadLink()
        
{
            
this._CheckStatus = AddressCheckStatus.IsBadLink;
        }

    }


    
public enum AddressCheckStatus { UnCheck,IsOkLink,IsBadLink};
}

 

 

/**********************************************
 * 程序员:        郑永丹                          
 * 修改日期:      2007-11-06
 * 程序内容:
 *              操作页面地址 操作类
 *        
 *        
 *        
 * *********************************************
*/

using System;
using System.Collections.Generic;
using System.Text;
using SiteSQLCheck.Model ;

namespace SiteSQLCheck.Rule
{
    
/// <summary>
    
/// 操作页面地址 操作类
    
/// </summary>

    public class CGetLinkRule
    
{
        
/// <summary>
        
/// 得到当前页面地址
        
/// </summary>
        
/// <param name="pageUrl">页面地址</param>
        
/// <returns>页面包含的地址列表</returns>

        public List<CLinkAddress> GetLinkInPage(string pageUrl)
        
{
            
return new List<CLinkAddress>();
        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值