【问题标题】:Making a web page visible only when user comes from a specific page or link [closed]仅当用户来自特定页面或链接时才使网页可见[关闭]
【发布时间】:2015-01-14 22:09:46
【问题描述】:

如何让网页只对来自特定页面或链接的用户可见? 如果稍后直接从​​浏览器或任何其他来源而不是指定的页面或链接访问该页面的链接, 给出错误,或重定向到其他页面。

如果是,请告诉我你会怎么做,以及你的建议是什么。

【问题讨论】:

  • 是的,使用 adeneo 的链接,并设置 display:none 或任何你喜欢的隐藏页面。
  • display: none 不会阻止对内容的访问;它只是隐藏它,但它仍然在源中可见
  • 如果有的话,在 PHP 中完全阻止内容实际上比更改 CSS display 更容易。

标签: javascript php jquery redirect url-redirection


【解决方案1】:

我认为对你有用的是$_SERVER['HTTP_REFERER'] - see details

有了这个变量,您可以简单地检查用户来自哪里,并决定在服务器端显示或不显示您网站上的另一个页面

在伪代码中

<?php

if ('a-referer-identificator' === $_SERVER['HTTP_REFERER']) {

echo 'show your website';

} else {
// Redirect for access denied or sth like that
header('Location: http://www.example.com/');
}

?>

【讨论】:

  • http_referer 并不总是可靠的。您可以在授权页面上设置会话变量,并在加载受限页面时取消设置。但是对于基本需求,http_referer 可能就可以了
  • 对。这当然是 PHP 中的解决方案
  • @KaiQing 我不相信有任何方法可以防止恶意进入。但无论如何,这种技术不适合任何安全问题 - 我想象 OP 想要欢迎搜索引擎访问者,或者只在您来自主页时显示内容,或类似的东西。
  • @ollie - 您可以将唯一有效的推荐页面限制为登录用户。 OP 并没有完全阐明请求的条款,所以我们所能做的就是推测。但是,如果需要问这个问题,很可能 OP 没有做出企业级的东西或处理大量的安全问题。
  • @KaiQing 我还能不能更改我自己网站上的标题,让它看起来好像我通过了在唯一有效的推荐页面上所做的任何认证?
【解决方案2】:

您可以使用 PHP HTTP-Referer 变量跟踪 a。但请注意,就像任何 HTTP 变量一样,它很容易被某人更改。

如果你使用它,你只需要构建一个 If 块,如果它为 false 则使用 header-Function 重定向

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    相关资源
    最近更新 更多