iT邦幫忙

0

ASP.NET C#字 防止直接開啟網頁

想請教大大們:
我是用vs 2010開發網站,希望能做一個防止user直接指向(子網頁)
例如:https://tw.bid.yahoo.com/myauc?hpp=hp_auc_navigation_02
當user直接把子網頁(網址)貼到瀏覽器內,網頁在抓取「子網頁」時,會跳出要求輸入帳密
才可登入!

在程式一開始時,要先去檢查 "類似" USER_ID 的變數.
如果這個變數不存在或是 NULL . 就開 LOGIN 的網頁
protected void Page_Load(object sender, EventArgs e)
{
if ((Session["Menu"] == null) || Session["Menu"].ToString().Trim().Equals("")) { Response.Redirect("Login.aspx"); }
satan5304 iT邦新手 5 級 ‧ 2016-08-19 15:13:51 檢舉
感謝給予方向指導
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
wybeen
iT邦新手 4 級 ‧ 2016-08-19 09:53:07

網站身分驗證算是蠻基礎的東西

請參考保哥的教學

satan5304 iT邦新手 5 級 ‧ 2016-08-19 15:12:38 檢舉

嗯,不好意思,碰這程式沒很久,很多東西還很欠缺思考與運用,謝謝。

0
JamesDoge
iT邦高手 1 級 ‧ 2022-12-26 08:12:55
  1. 要求輸入帳密的UI (Login.aspx)
<form id="form1" runat="server">
    <div>
        <label>Username:</label>
        <asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>
        <br />
        <label>Password:</label>
        <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
        <br />
        <asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" />
        <br />
        <asp:Label ID="lblError" runat="server" ForeColor="Red"></asp:Label>
    </div>
</form>
  1. Page_Load 檢查有沒有登錄 (Login.aspx.cs)
// 函數:檢查用戶是否已登錄
        private bool IsUserLoggedIn()
        {
            return (Session["UserName"] != null);
        }

        // 登錄頁面的Page_Load事件處理程序
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (!IsUserLoggedIn())
                {
                    // 用戶未登錄,跳轉到登錄頁面
                    Response.Redirect("~/Login.aspx");
                }
            }
        }

        // 子網頁的Page_Load事件處理程序
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (!IsUserLoggedIn())
                {
                    // 用戶未登錄,跳轉到登錄頁面
                    Response.Redirect("~/Login.aspx");
                }
            }
        }

我要發表回答

立即登入回答