广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    ASP.net做的IP访问限制

    2018-04-16 10:57:46 次阅读 稿源:互联网
    广告

      偶做留言本的时候想起做这么个,具体思路也许不好,做出来只是抛砖引玉,希望有更好的方法!

      IP添加页是用了一个ListBox, TextBox,两个Button,而在其他的页上则直接用当前IP对比数据库中的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>无标题页</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;">
                        填写标准的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的页面调用页的代码

     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被限制访问,请咨询管理员");
        }
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告