IP限制访问量
来源:互联网 发布:网络转换器移动转电信 编辑:程序博客网 时间:2024/05/07 04:55
private void ValidIPRequest()
{
string ip = "";
string temptime = "";
string time = "";
try
{
ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];//使用代理服务器时,透过代理获得客户机真实IP
if (ip == null)
{
ip = Request.ServerVariables["REMOTE_ADDR"];//当不采用代理时,直接获得客户机IP
}
time = DateTime.Now.ToString("yyyy-MM-dd");//此IP访问时的服务器时间
SqlDBManager db = new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["ConnString"].ToString());
System.Data.SqlClient.SqlDataReader sdr = db.Select("select top 1 _time from ipday order by _time desc");
try
{
if (sdr.HasRows)
{
while (sdr.Read())
{
temptime = Convert.ToString(sdr.GetDateTime(0));
}
}
}
finally
{
sdr.Close();
db.ConnClose();
}
if (temptime == null || temptime == "")
{
temptime = time;
}
DateTime dt = Convert.ToDateTime(time);//转换当前服务器时间 为时间型
DateTime tempdt = Convert.ToDateTime(temptime);//转换当前IP数据时间 为时间型
if (dt == tempdt) //服务器时间与IP数据时间相同 说明是当天的点击
{
IPRequest();
}
if (dt > tempdt) //服务器时间>IP数据时间 说明是第二天的点击 获得前一天的点击总数存入iprecord表 并删除ipday中前一天的所有记录
{
int topnum = 0;
System.Data.SqlClient.SqlDataReader sdr1 = db.Select("select sum(num) from ipday");
try
{
if (sdr1.HasRows)
{
while (sdr1.Read())
{
topnum = sdr1.GetInt32(0);
}
}
}
finally
{
sdr1.Close();
db.ConnClose();
}
db.Delete("delete from ipday where _time='" + temptime + "'");
db.Insert("insert into iprecord(_time,topnum) values ('" + temptime + "'," + topnum + ")");
IPRequest();
}
}
catch (Exception ex)
{
throw (ex);
}
}
private void IPRequest()
{
bool b = db.CheckEnable("ip", ip, "ipday");//检验此IP 今天是否访问过 表中存在为false 不存在为true
if (b == false) //此IP今天访问过
{
int n = Convert.ToInt32(db.AnyKey("num", "ip", ip, "ipday"));//获得此IP 今天的访问次数
if (n == 3)
{
Response.Write("<script>alert('你已经点了3次了,一天只能点3次');</script>");
return;
}
else if (n < 3)
{
n++;
db.Update("update ipday set num=" + n);
Response.Write("<script language=javascript>window.open('目标页.aspx');</script>");
}
}
else //此IP今天没有访问过
{
db.Insert("insert into ipday(ip,_time,num) values ('" + ip + "','" + time + "',1)");
Response.Write("<script language=javascript>window.open('目标页.aspx');</script>");
}
}
- IP限制访问量
- IP限制访问量
- 查看apache IP访问量
- 查看apache IP访问量
- 统计ip地址访问量
- java 实现IP访问量控制
- java 实现IP访问量控制
- IP限制
- ip限制
- 限制ip
- ip限制
- 查看access.log的独立ip访问量
- 获取访问量(重复IP不累计)
- (转)shell查看apache IP访问量
- 网站访问量统计之UV/PV/IP
- 访问量中 pv uv ip的区别
- nginx统计访问量最高的ip
- 限制IP访问页面--限制IP
- vc6更新Platform SDK详细过程
- install ruby on cygwin
- PHP 应用提速 - 第 1 部分: 使用操作码缓存软件提升性能
- 面试题目集锦
- IP限制访问量
- IP限制访问量
- gsl 的gsl_rng_mt19937 error问题 gsl_rng_alloc()
- ACE实例编程1
- 知识点收集
- jquery 学习(1)
- Eclipse plugin的国际化
- 我要改变
- Mysql中limit的用法详解
- VirtualBox Windows 和Linux 共享文件