zoukankan      html  css  js  c++  java
  • AWVS漏洞测试-02节-添加一个简单的新闻系统

    实现一个简单的新闻发布系统

    有登录 注册 添加新闻 浏览新闻 评论新闻 新闻列表 这些基本功能

    使用asp.net webform

    首先是登录页

            protected void Button1_Click(object sender, EventArgs e)
            {
                string name = this.TextBox1.Text.Trim();
                string pwd = this.TextBox2.Text.Trim();
                if (name=="bamn"&&pwd=="123321")
                {
                    Session["user"] = name;
                    Response.Redirect("/");
                }
                Response.Write("账号或者密码不正确");
                Response.End();
            }

    上面是按钮事件,简单判断密码和账号,登录成功写入session,跳转到首页,否则输入提示

    然后我们添加注册页

            protected void Button1_Click(object sender, EventArgs e)
            {
                string name = this.TextBox1.Text.Trim();
                string pwd = this.TextBox2.Text.Trim();
                string pwd2 = this.TextBox3.Text.Trim();
                if (name == "" || pwd == "")
                {
                    ShowInfo("输入不正确");
                }
                else if (pwd != pwd2)
                {
                    ShowInfo("两次密码一样");
                }
                //正常开发的话,这里面应该是添加到数据库中的
                //我们这里就简单当做保存了 跳转到登录页
                Response.Redirect("/");
            }
    
            private void ShowInfo(string info)
            {
                Response.Write(info);
                Response.End();
            }

    然后就是发布新闻页了

           protected void Button1_Click(object sender, EventArgs e)
            {
                //先判断输入是否正确
                //我们这里由于没有数据库,所以这里就使用配置文件 序列化
                string content = this.TextBox1.Text.Trim();
                string title = this.TextBox2.Text.Trim();
                if (content == "" || title == "")
                {
                    ShowInfo("输入不正确");
                }
                News news = new News();
                news.Content = content;
                news.Title = title;
                string guid = System.Guid.NewGuid().ToString();
                news.Guid = guid;
                news.Date = DateTime.Now.ToString();
                string json = new JavaScriptSerializer().Serialize(news);
                string path = Server.MapPath("~/") + "jsons\" + guid + ".json" ;
                File.WriteAllText(path, json);
                Response.Redirect("/");
            }
    
        public class News
        {
            public string Date { set; get; }
            public string Title { set; get; }
            public string Content { set; get; }
            public string Guid { get; set; }
        }

    我们这里是通过序列化保存成json文件,到jsons的目录下面

    然后就是到首页了,首页我们现实列表

    <form id="form1" runat="server">
            <div>
                <asp:Repeater ID="RepeaterNews" runat="server">
                    <ItemTemplate>
                        <div class="movies">
                            <a href="/view.aspx?guid=<%#Eval("Guid") %>"><%#Eval("Title") %></a>
                            <label><%#Eval("Date") %></label>
                        </div>
                    </ItemTemplate>
                </asp:Repeater>
            </div>
    </form>
    
            protected void Page_Load(object sender, EventArgs e)
            {
                RepeaterNews.DataSource = GetNewList();
                RepeaterNews.DataBind();
            }
    
            private List<News> GetNewList()
            {
                //获取文件列表 
                string[] files = Directory.GetFiles(Server.MapPath("~/") + "jsons\");
                List<News> newsList = new List<News>();
                for (int i = 0; i < files.Count(); i++)
                {
                    string content = File.ReadAllText(files[i]);
                    News news = new JavaScriptSerializer().Deserialize<News>(content);
                    newsList.Add(news);
                }
                return newsList;
            }

    下面再到详细页

     <form id="form1" runat="server">
            <div>
                <asp:Label ID="LabelTitle" runat="server"></asp:Label><br />
                <asp:Label ID="LabelContent" runat="server"></asp:Label><br />
                <asp:Label ID="LabelDate" runat="server"></asp:Label><br />
            </div>
    </form>
    
     protected void Page_Load(object sender, EventArgs e)
            {
                string guid = Request.QueryString["guid"];
                string path = Server.MapPath("~/") + "jsons\" + guid + ".json";
                string json = File.ReadAllText(path);
                News news = new JavaScriptSerializer().Deserialize<News>(json);
                this.LabelContent.Text = news.Content;
                this.LabelTitle.Text = news.Title;
                this.LabelDate.Text = news.Date;
            }

    到现在为止,我们基本实现了一个新闻发布 列表 预览 注册 登录的简单功能

    本集和AWVS没什么关系,主要是我们想通过这个程序来,测试我们的AWVS漏洞功能

    希望对你有帮助,更多课程可以访问www.bamn.cn

  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/maijin/p/6076438.html
Copyright © 2011-2022 走看看