【问题标题】:Prevent copy paste of url in another tab using form authentication使用表单身份验证防止在另一个选项卡中复制粘贴 url
【发布时间】:2017-11-06 13:35:30
【问题描述】:

请帮助我防止在另一个选项卡中复制粘贴 url。

我正在为我的应用程序使用表单身份验证。 我已经登录访问了一些页面。

现在如果我粘贴访问页面的 url ...我也可以在不登录的情况下访问此页面

我尝试添加以下代码..但没有用..我仍然能够在没有登录的情况下查看页面

<authentication mode="Forms">
    <forms name="Authen" protection="All" timeout="60" loginUrl="login.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>

如何在没有登录的情况下停止页面访问(甚至复制并粘贴 URL)?

【问题讨论】:

    标签: c# asp.net web-applications


    【解决方案1】:

    该代码是正确的,可以阻止对您网站的任何匿名使用。

    我怀疑这种情况类似于用户只是关闭选项卡或浏览器,而不是通过链接或某种此类机制注销。在这种情况下,IIS 将无法正确注销用户。

    当用户将 url 粘贴到浏览器中时,您确定用户 cookie 仍然无效吗?即他们仍然在技术上登录?

    尝试通过链接实际注销,然后尝试将 url 粘贴到另一个选项卡/浏览器中,这应该会导致用户被要求重新登录。

    尝试关闭选项卡,然后尝试将 url 粘贴到新选项卡中,这应该会导致用户在仍然登录时转到该 URL。

    您可以将超时时间缩短到 1 分钟并重新测试。

    【讨论】:

      【解决方案2】:

      在 page_Load() 中使用此代码

       string strPreviousPage = "";
           if (Request.UrlReferrer != null)
             {
              strPreviousPage = Request.UrlReferrer.Segments[Request.UrlReferrer.Segments.Length - 1];          
              }        
          if(strPreviousPage =="")
              {
                Response.Redirect("~/Login.aspx");
               }
      

      学分Asheej Kommery's

      【讨论】:

        猜你喜欢
        • 2014-07-04
        • 1970-01-01
        • 1970-01-01
        • 2012-06-14
        • 2022-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多