ASP.net做的IP訪問限制
偶做留言本的時候想起做這么個,具體思路也許不好,做出來只是拋磚引玉,希望有更好的方法!
IP添加頁是用了一個ListBox, TextBox,兩個Button,而在其他的頁上則直接用當(dāng)前IP對比數(shù)據(jù)庫中的IP,代碼如下!
限制IP添加頁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>無標(biāo)題頁</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地址到左下文本框里面,然后點擊按紐添加!<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添加頁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的頁面調(diào)用頁的代碼
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("對不起,您的IP被限制訪問,請咨詢管理員");
}
}
- asp.net(c#)不可訪問,因為它受保護(hù)級別限制
- Asp.net Mvc 身份驗證、異常處理、權(quán)限驗證(攔截器)實現(xiàn)代碼
- ASP.NET對HTML頁面元素進(jìn)行權(quán)限控制(三)
- ASP.NET對HTML頁面元素進(jìn)行權(quán)限控制(二)
- ASP.NET對HTML頁面元素進(jìn)行權(quán)限控制(一)
- ASP.NET通用權(quán)限驗證的實現(xiàn)代碼思路
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十:定制數(shù)據(jù)修改界面
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十一:實現(xiàn)開放式并發(fā)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十二:為刪除數(shù)據(jù)添加客戶端確認(rèn)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十三:基于用戶對修改數(shù)據(jù)進(jìn)行限制
相關(guān)文章
ASP.NET中利用DataList實現(xiàn)圖片無縫滾動 實例分享
這個問題之前也困擾我,后來解決了,拿出來分享下,以后用也方便,代碼很容易看懂,不多說什么了2013-06-06一個簡單的ASP.NET Forms 身份認(rèn)證的實例方法
當(dāng)訪問默認(rèn)首頁default.aspx時,會自動跳轉(zhuǎn)到login.aspx頁面上請求登錄,隨便輸入用戶名和密碼,點擊“登錄”按鈕,會回到首頁,并顯示當(dāng)前登錄的用戶名。2013-07-07win7-vs2012下安裝.net frame work 的過程圖文詳解
這篇文章主要介紹了win7-vs2012下安裝.net frame work 的過程圖文詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05Global.asax的Application_Error實現(xiàn)錯誤記錄/錯誤日志的代碼
本文為大家介紹下利用Global.asax的Application_Error實現(xiàn)錯誤記錄,具體如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08jquery中如何獲得服務(wù)器控件實現(xiàn)思路
jquery中如何獲得服務(wù)器控件,很多新手朋友對此比較陌生,接下來為您介紹解決方法,感興趣的朋友可以了解下哦2013-01-01asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法
這篇文章主要介紹了asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法 ,需要的朋友可以參考下2014-10-10