Я думал о том, чтобы сделать что-то подобное, когда создавал гостевую книгу. Конкретная идея, возможно, не очень хорошая. Это просто способ привлечь других. Надеюсь, есть лучший способ
! две кнопки,
а на других страницах напрямую используйте текущий IP-адрес для сравнения IP-адресов в базе данных, код следующий:
HTML-код страницы ограничения IP-адресов
!
<%@ 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="сервер">
<title>Страница без названия</title>
<link href="../images/news.css" rel="stylesheet" type="text/css" />
</голова>
<тело>
<form id="form1" runat="server">
<дел>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:book %>"
ProviderName="<%$ ConnectionStrings:book.ProviderName %>" SelectCommand="ВЫБРАТЬ [ip] ИЗ [ip]">
</asp:SqlDataSource>
<table align="center" style="border-right: #0066cc, 1 пиксель, пунктир; border-top: #0066cc, 1 пиксель, пунктир; border-left: #0066cc, 1 пиксель, пунктир; border-bottom: #0066cc, 1 пиксель, пунктир">
<тр>
<td rowspan="2" style="width: 100px; border-right: #33ccff канавка 1 пиксель; border-top: #33ccff канавка 1 пиксель; левая граница: #33ccff канавка 1 пиксель; border-bottom: #33ccff канавка 1 пиксель; ">
<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 канавка 1 пиксель; border-top: #33ccff канавка 1 пиксель; левая граница: #33ccff канавка 1 пиксель; border-bottom: #33ccff канавка 1 пиксель;">
Введите стандартный 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>
<тр>
<td style="width: 100px; border-right: #33ccff канавка 1 пиксель; border-top: #33ccff канавка 1 пиксель; левая граница: #33ccff канавка 1 пиксель; border-bottom: #33ccff канавка 1 пиксель;">
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Удалить выбранную строку</asp:LinkButton></td>
</tr>
<тр>
<td style="width: 100px; border-right: #33ccff канавка 1 пиксель; border-top: #33ccff канавка 1 пиксель; левая граница: #33ccff канавка 1 пиксель; border-bottom: #33ccff канавка 1 пиксель;">
<asp:TextBox ID="iptb" runat="server" Width="150px">61.139.33.22</asp:TextBox></td>
<td style="width: 100px; border-right: #33ccff канавка 1 пиксель; border-top: #33ccff канавка 1 пиксель; левая граница: #33ccff канавка 1 пиксель; border-bottom: #33ccff канавка 1 пиксель;">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Добавить" Width="80px" /></td>
</tr>
</таблица>
</div>
</форма>
</тело>
</html>
Ограничить IP-адрес, чтобы добавить код CS страницы
использование системы;
использование System.Data;
использование System.Configuration;
использование System.Collections;
использование System.Web;
использование System.Web.Security;
использование System.Web.UI;
использование System.Web.UI.WebControls;
использование System.Web.UI.WebControls.WebParts;
использование System.Web.UI.HtmlControls
общедоступного частичного класса admin_ip: System.Web.UI.Page;
{
protected void Page_Load (отправитель объекта, EventArgs e)
{
Server.Execute("chklog.aspx");
}
protected void Button1_Click (отправитель объекта, EventArgs e)
{
iplxb.Items.Add(iptb.Text);
odb.insert("вставить в ip(ip) значения('" + iptb.Text + "')");
}
protected void LinkButton1_Click (отправитель объекта, EventArgs e)
{
for (int i = 0; i < iplxb.Items.Count; i++)
{
если (iplxb.Items[i].Выбрано)
{
odb.insert("удалить из ip, где ip=""+iplxb.SelectedItem.Text+"'");
iplxb.Items.Remove(iplxb.SelectedItem.Text);
}
}
}
}
Код страницы, вызываемой страницей, которой необходимо ограничить IP
protected void Page_Load (отправитель объекта, EventArgs e)
{
string ip = Request.UserHostAddress.ToString();
if (Convert.ToInt32(odb.scr("select count(*) from [ip], где ip='" + ip + "'")) > 0)
Response.Write("К сожалению, доступ к вашему IP ограничен, обратитесь к администратору");
}
}