2019/0517/ASP.NET Webform介紹Master page 主頁 & Session 簡介 & 登入login驗證 & 隱碼攻擊injection & 工具箱程式碼片段使用

#ASP.NET Webform介紹Master page 主頁 & Session 簡介 & 登入login驗證 & 隱碼攻擊injection & 工具箱程式碼片段使用

登入有幾千幾百種做法各自有內容

首先/ASPnet/Site1.Master ( 用於等等登入驗證介紹

Master page主頁面 ( 主板頁面

語意標籤 17CSS_Position 排版

引入 Nugget bs4 所有內容頁面都會吃到libray庫效果 排版

###/ASPnet/Site1.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="ASPnet.Site1" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <link href="Content/bootstrap.min.css" rel="stylesheet" />
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <div class="container">
            <div class="row">
                <header class="col-md-12">
                    header
                </header>
            </div>
            <div class="row">
                <aside class="col-md-3">
                    aside
                </aside>
                <article class="col-md-9">
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
                </article>
            </div>
            <div class="row">
                <footer class="col-md-12">
                    footer
                </footer>
            </div>

        </div>
    </form>
</body>
</html>

###/ASPnet/41MainPage.aspx

例子 改 要的 最後憑空寫出來 才算是學會

接著做/ASPnet/42Login.aspx

ASPnet/33Member_Registeration 有做驗證信註冊

雜湊只能單一方向 比對方式 要雜湊完後去比對

首先先刻前端

用webform就要盡量用控制項

不然就要用form 然後用 javascript 寫 post

刻完後就到/ASPnet/42Login.aspx.cs寫後端

引入 using System.Data.SqlClient;using System.Configuration;物件庫

SqlConnection 資料庫連接物件 利用 ConfigurationManager 組態經理物件

SqlCommand 資料庫指令物件 但 基於資安(如下補充)必須使用 資料庫物件方法Parameters.AddWithValue(“@參數代號,資料庫欄位名稱”)

hasbyte ( sqlserver 指令雜湊密碼

SqlDataReader 讀資料庫物件

ExecuteReader() 執行讀資料庫物件

但是就算驗證登入後 只要記得網址 直接 key網址也能進入 那怎辦呢 ?

Session

藉由 Session (狀態保留(暫存包? 生命週期會同網頁/網站/瀏覽器關閉消失

把門票與登入者姓名暫存到這個包裹內轉移到後端

這時Master page主頁面的效益就來了 只要把檢查session寫在主頁 其他頁面就都吃的到不用重複寫

登出時要多寫清空 session

Mvc 也可以用 session 可以穿越很多 controller 但 viewdata viewtemp viewbag 生命週期不一樣 會在特別講一次 ???

以下方式為 主頁面 包含側欄 頁面 排版格式與cs (類似mvclayout) 藉由 登入頁面 進入到 內容頁面

### /ASPnet/Site1.Master

### /ASPnet/Site1.Master.cs

### /ASPnet/42Login.aspx

### /ASPnet/42Login.aspx.cs

### /ASPnet/41MainPage.aspx

### /ASPnet/41MainPage.aspx.cs

##題外話: 很多重複的片段程式碼可以往工具箱拉會自動成片段

###補充: 駭客方式(資料隱碼攻擊SQL injection)

可以不知道密碼的狀態下

Select * from xxx where Accaunt =’aaa’ and pswd =’’ or|=|--‘ (--為註解

F F or T

拋例外處理探查資料庫結構

嘗試 vs.tchcvs.tc.edu.tw/plan/index_login.asp

帳號aaaa 密碼‘or’’=’’

#下午九專題報告

其他組功能很齊全 我們組 哈哈哈… 看來這禮拜要多做點 ( 乾脆直接做好

#補充循序圖畫法

資料字典skma ?

循序圖 書的第十一章 351pg

Usecase可以定義系統有甚麼功能

畫完後會

物件互動行為塑模 ( 活動圖 (考試常用 、 (較細膩) 循序圖 (實務上常用

使用者介面塑模

靜態物件資料結構塑模 ( 資料 類別

Opt 不一定從頭到尾 Usecase 對應一張 循序圖

UI循序圖 樣子要去 使用者介面塑模看 ( 施工的人必須要按圖設計 ( 系統分析師畫圖 ( 分層負責

AC ( 沒有介面的應用程式 其實可以把 應用程式的 功能畫出來 但大多都是在畫一張 AC循序圖

建議先將 順序畫完後 再去編 號碼

UI User interface 使用者介面

UX User Experience 使用者經驗

##第一個案例

左邊 右邊 其實就是兩張循序圖

##第二個案例

##第三個 會員註冊 案例 寶寶組

##要知道 確切的流程圖 循序圖名稱 才能切的乾淨

狀態就會把上面生命線改成狀態 在表達狀態變化

##活動圖

Last updated

Was this helpful?