【问题标题】:To restrict copy and paste of URL to open the page限制复制和粘贴 URL 以打开页面
【发布时间】:2012-11-10 01:14:12
【问题描述】:

为了停止会话共享,我使用了代码

<sessionState mode=”InProc” cookieless=”UseUri”></sessionState>

这很好,虽然我的 URL 很尴尬,但没关系。 我面临的问题是:如果用户已经登录到应用程序,并且如果用户直接在 Web 浏览器中复制并粘贴 URL 以打开页面,那么用户可以打开该页面,因为用户已经有一个活动会话。

但要求是限制复制和粘贴 URL 以打开页面。 在这种情况下,我们该怎么办?

我没有 .cs 页面,因为这是一个旧应用程序,我们有 .aspx 页面,带有 javascript/VB 脚本。

我在登录应用程序时遇到&lt;sessionState mode="InProc" cookieless="UseUri"&gt; 的另一个问题,如果用户直接复制 url 并将 URL 粘贴到 Web 浏览器中以在关闭第一个(我们复制 url 的位置)后打开页面仍然是用户无需登录即可打开页面。 示例:http://XXX/YYY/(S(fxiejp3mcnt3wwob3ytkmbf))/Home/FrameSet.aspx 如果我在关闭打开的窗口(我复制了这个 uRL)后粘贴上面的 URL,用户就可以打开应用程序。这似乎是错误。 请推荐 请推荐

【问题讨论】:

  • 你为什么要关心用户登录后是否可以通过将 url 粘贴到地址栏中来打开页面?
  • 编写自定义浏览器并实施一种安全方式来验证该浏览器是客户端应用程序。
  • 有某种安全的会话 ID,存储在 url 和会话中。在页面加载时,它会检查两者是否相同,如果相同,则允许用户进入。然后它将重新分配一个新 var 并将其附加到所有 url。
  • 你没有。当然,您可以制作一些花哨的 JavaScript 来禁用复制粘贴,但是通过简单地禁用 JavaScript 就很容易做到这一点。为什么不使用 cookie?
  • 您无法通过将 URL 粘贴到地址栏中来阻止用户访问页面。你最好从 URL 中删除登录 ID(如果它目前是这样工作的)。如果您使用基于 URL 的身份验证,请不要。您不能指望网站完全控制在其计算机上本地运行的浏览器...

标签: c# javascript asp.net c#-4.0 session


【解决方案1】:

您可以使用这样的代码来禁用 Html 标记中的复制粘贴吗?

<html>
<head>
</head>
<body oncopy="return false;" onpaste="return false;" oncut="return false;">
    <form id="form1" runat="server">
        <div>
           Try to copy this and paste in your editor
        </div>
    </form>
</body>
</html>

【讨论】:

    【解决方案2】:

    如果您想确保用户不会直接访问某个页面,您可以查看 http 标头中的referer [原文如此],并确保它已设置并且用户通过您的网站导航到这页纸。如果referer设置为google,或者未设置,则用户直接访问该URL。

    从安全的角度来看,您应该依靠 cookie 中的某些标识符来存储会话信息,并且 cookie 不应包含任何私人或机密信息。如果 cookie 中的会话 ID 与服务器的会话 ID 不匹配,则该页面应被拒绝。 (请参阅http://www.truste.com/blog/2011/12/02/best-practices-for-using-cookies/ 了解有关会话的一些好的提示)

    【讨论】:

      【解决方案3】:

      为什么不将 IP 地址与登录会话相关联,以便其他用户无法剪切和粘贴 URL。

      (请注意,如果两个用户都在同一个 NAT 路由器后面,这将不起作用,如果用户使用更改 IP 地址的移动设备,则可能会出现问题。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-29
        • 2014-03-11
        • 1970-01-01
        • 1970-01-01
        • 2018-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多