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;">
填寫(xiě)標(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中利用DataList實(shí)現(xiàn)圖片無(wú)縫滾動(dòng) 實(shí)例分享
這個(gè)問(wèn)題之前也困擾我,后來(lái)解決了,拿出來(lái)分享下,以后用也方便,代碼很容易看懂,不多說(shuō)什么了2013-06-06asp.net 簡(jiǎn)單工廠模式和工廠方法模式之論述
簡(jiǎn)單工廠模式的最大優(yōu)點(diǎn)在于工廠類中包含了必要的邏輯判斷,根據(jù)客戶端的選擇條件動(dòng)態(tài)實(shí)例化相關(guān)的類,對(duì)于客戶端來(lái)說(shuō),去除了于具體產(chǎn)品的依賴2011-12-12一個(gè)簡(jiǎn)單的ASP.NET Forms 身份認(rèn)證的實(shí)例方法
當(dāng)訪問(wèn)默認(rèn)首頁(yè)default.aspx時(shí),會(huì)自動(dòng)跳轉(zhuǎn)到login.aspx頁(yè)面上請(qǐng)求登錄,隨便輸入用戶名和密碼,點(diǎn)擊“登錄”按鈕,會(huì)回到首頁(yè),并顯示當(dāng)前登錄的用戶名。2013-07-07win7-vs2012下安裝.net frame work 的過(guò)程圖文詳解
這篇文章主要介紹了win7-vs2012下安裝.net frame work 的過(guò)程圖文詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05ASP.NET 控件開(kāi)發(fā)系列之圖片切換web控件
剛開(kāi)始學(xué)習(xí)控件開(kāi)發(fā),寫(xiě)了一個(gè)web圖片切換控件,歡迎大家拍磚.2010-04-04Global.asax的Application_Error實(shí)現(xiàn)錯(cuò)誤記錄/錯(cuò)誤日志的代碼
本文為大家介紹下利用Global.asax的Application_Error實(shí)現(xiàn)錯(cuò)誤記錄,具體如下,有此需求的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08jquery中如何獲得服務(wù)器控件實(shí)現(xiàn)思路
jquery中如何獲得服務(wù)器控件,很多新手朋友對(duì)此比較陌生,接下來(lái)為您介紹解決方法,感興趣的朋友可以了解下哦2013-01-01asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法
這篇文章主要介紹了asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法 ,需要的朋友可以參考下2014-10-10