如果用户手动将网址键入网站的受保护区域,他们无权访问控制器上的结果操作?
我已经控制了链接的显示以进入这些区域,所以我只关心这些区域的手动输入。
我意识到这可能是主观的,可能没有正确的答案,所以我正在寻找最佳实践,解释和优点和缺点,首先关注安全性(如果有顾虑)和用户体验。
答案 0 :(得分:0)
对我而言,我要么显示一个页面,说明他们无法访问此页面,要么我只是将它们重定向到主页。 (第二个是我通常的选择)然而,就像你说的那样,答案是主观的。然而,存在利弊。
为了记录用户,这对用户来说非常令人沮丧。当你只是简单地显示一个他们没有访问权限的页面或只是重定向它们时,也没有太多意义。
显然,不要让他们访问他们不应该访问的内容。这违背了安全的目的。
404代码表示找不到页面/不存在。当然,这不是真的,因为页面确实存在,他们只是没有权限。
将它们发送到主页是有效的,如果有的话,它不应该影响用户体验。
对用户来说最好的一个是显示一个页面,告诉他们他们无权访问该页面。这样,他们知道为什么他们没有到达他们想要的目的地。
再次,由您决定如何实施它。
答案 1 :(得分:0)
请注意,您不会生成格式错误的网址(或其他网站不会重定向到您的网站可能格式错误的网址(这不太可能)),或者用户会对以下任何内容非常不满意。我相信你可以弄清楚它们的含量。我曾经在同一个网站上反复发送过这封电子邮件(他们更喜欢(4))。
除了第一种以外的所有常见做法。
将用户退出
这可能是安全性的第一选项(用户体验的第4个选项)。如果用户正在搞乱URL,他们可能会尝试做恶意的事情。您可能还想给他们一个警告,记录请求并禁止它为同一个用户发生。
给他们访问被拒绝的页面
稍微不如(3)安全,因为你告诉用户那里存在某些东西。
给他们一个404
有一个完美的感觉。
将它们发送到主页,没有任何解释(或其他位置)
如果您在任何地方都有格式错误的网址,这将是用户体验的首选(尽管它仍然不理想 - 它仍然可能会造成很多挫折)。
在我看来,(3)和(4)在安全性方面几乎相同。