ASP.net做的IP訪問(wèn)限制
偶做留言本的時(shí)候想起做這么個(gè),具體思路也許不好,做出來(lái)只是拋磚引玉,希望有更好的方法!
IP添加頁(yè)是用了一個(gè)ListBox, TextBox,兩個(gè)Button,而在其他的頁(yè)上則直接用當(dāng)前IP對(duì)比數(shù)據(jù)庫(kù)中的IP,代碼如下!
限制IP添加頁(yè)HTML代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ip.aspx.cs" Inherits="admin_ip" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無(wú)標(biāo)題頁(yè)</title>
<link href="../images/news.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:book %>"
ProviderName="<%$ ConnectionStrings:book.ProviderName %>" SelectCommand="SELECT [ip] FROM [ip]">
</asp:SqlDataSource>
<table align="center" style="border-right: #0066cc 1px dotted; border-top: #0066cc 1px dotted; border-left: #0066cc 1px dotted; border-bottom: #0066cc 1px dotted">
<tr>
<td rowspan="2" style="width: 100px; border-right: #33ccff 1px groove; border-top: #33ccff 1px groove; border-left: #33ccff 1px groove; border-bottom: #33ccff 1px groove;">
<asp:ListBox ID="iplxb" runat="server" DataSourceID="SqlDataSource1" DataTextField="ip"
DataValueField="ip" Height="194px" Width="153px"></asp:ListBox></td>
<td style="width: 100px; border-right: #33ccff 1px groove; border-top: #33ccff 1px groove; border-left: #33ccff 1px groove; border-bottom: #33ccff 1px groove;">
填寫標(biāo)準(zhǔn)的IP地址到左下文本框里面,然后點(diǎn)擊按紐添加!<br />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="iptb"
Display="Dynamic" ErrorMessage="IP地址格式不正確" ValidationExpression="([0-9]{2,3})([.])([0-9]{1,3})([.])([0-9]{1,3})([.])([0-9]{1,3})"></asp:RegularExpressionValidator></td>
</tr>
<tr>
<td style="width: 100px; border-right: #33ccff 1px groove; border-top: #33ccff 1px groove; border-left: #33ccff 1px groove; border-bottom: #33ccff 1px groove;">
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">刪除選中的行</asp:LinkButton></td>
</tr>
<tr>
<td style="width: 100px; border-right: #33ccff 1px groove; border-top: #33ccff 1px groove; border-left: #33ccff 1px groove; border-bottom: #33ccff 1px groove;">
<asp:TextBox ID="iptb" runat="server" Width="150px">61.139.33.22</asp:TextBox></td>
<td style="width: 100px; border-right: #33ccff 1px groove; border-top: #33ccff 1px groove; border-left: #33ccff 1px groove; border-bottom: #33ccff 1px groove;">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="增加" Width="80px" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
限制IP添加頁(yè)CS代碼
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;
public partial class admin_ip : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Server.Execute("chklog.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
iplxb.Items.Add(iptb.Text);
odb.insert("insert into ip (ip) values ('" + iptb.Text + "')");
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
for (int i = 0; i < iplxb.Items.Count; i++)
{
if (iplxb.Items[i].Selected)
{
odb.insert("delete from ip where ip='"+iplxb.SelectedItem.Text+"'");
iplxb.Items.Remove(iplxb.SelectedItem.Text);
}
}
}
}
被需要限制IP的頁(yè)面調(diào)用頁(yè)的代碼
protected void Page_Load(object sender, EventArgs e)
{
string ip = Request.UserHostAddress.ToString();
if (Convert.ToInt32(odb.scr("select count(*) from [ip] where ip='" + ip + "'")) > 0)
Response.Write("對(duì)不起,您的IP被限制訪問(wèn),請(qǐng)咨詢管理員");
}
}
- asp.net(c#)不可訪問(wèn),因?yàn)樗鼙Wo(hù)級(jí)別限制
- Asp.net Mvc 身份驗(yàn)證、異常處理、權(quán)限驗(yàn)證(攔截器)實(shí)現(xiàn)代碼
- ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(三)
- ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(二)
- ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(一)
- ASP.NET通用權(quán)限驗(yàn)證的實(shí)現(xiàn)代碼思路
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十:定制數(shù)據(jù)修改界面
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十一:實(shí)現(xiàn)開(kāi)放式并發(fā)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十二:為刪除數(shù)據(jù)添加客戶端確認(rèn)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十三:基于用戶對(duì)修改數(shù)據(jù)進(jìn)行限制
相關(guān)文章
asp.net登錄驗(yàn)證碼實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了asp.net登錄驗(yàn)證碼實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
SQL通用存儲(chǔ)過(guò)程分頁(yè),支持多表聯(lián)合
以前用.net寫分頁(yè)存儲(chǔ)過(guò)程時(shí)老是一張表就要寫一個(gè)procedure.很忙煩.后來(lái)有空就整合了一下,做了一個(gè)通用的sql分頁(yè)存儲(chǔ),支持多表聯(lián)合查詢分頁(yè).寫的不好的地方,希望大鳥(niǎo)們多多指導(dǎo).使的查詢速度更快.2011-11-11
ASP.NET MVC自定義授權(quán)過(guò)濾器
這篇文章介紹了ASP.NET MVC自定義授權(quán)過(guò)濾器的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
asp.NET開(kāi)發(fā)中正則表達(dá)式中BUG分析
又發(fā)現(xiàn)了一個(gè) .net的bug!最近在使用正則表達(dá)式的時(shí)候發(fā)現(xiàn):在忽略大小寫的時(shí)候,匹配值從 0xff 到 0xffff 之間的所有字符,正則表達(dá)式竟然也能匹配兩個(gè) ASCII 字符:i(code: 0x69) 和 I(code: 0x49);但是仍然不能匹配其他的 ASCII 字母和數(shù)字。2008-10-10
ASP.NET中配合JS實(shí)現(xiàn)頁(yè)面計(jì)時(shí)(定時(shí))自動(dòng)跳轉(zhuǎn)
這篇文章主要介紹了ASP.NET中配合JS實(shí)現(xiàn)頁(yè)面計(jì)時(shí)(定時(shí))自動(dòng)跳轉(zhuǎn),本文主要依靠JS實(shí)現(xiàn)需求,只是在ASP.NET中實(shí)現(xiàn)而已,需要的朋友可以參考下2015-06-06
DataTable類Clone方法與Copy方法的區(qū)別分析
初學(xué)者可能不清楚DataTable類的Clone及Copy方法的區(qū)別,查msdn,可得到如下結(jié)論2013-03-03
ASP.NET中實(shí)現(xiàn)導(dǎo)出ppt文件數(shù)據(jù)的實(shí)例分享
這篇文章主要介紹了ASP.NET中實(shí)現(xiàn)導(dǎo)出ppt文件數(shù)據(jù)的實(shí)例分享,實(shí)例代碼用C#語(yǔ)言編寫,利用.NET的庫(kù)實(shí)現(xiàn)起來(lái)還是比較簡(jiǎn)潔的,需要的朋友可以參考下2016-02-02
MVC4制作網(wǎng)站教程第三章 修改用戶組操作3.3
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,修改用戶組功能的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08

