【问题标题】:How to redirect users based on random URL string?如何根据随机 URL 字符串重定向用户?
【发布时间】:2015-06-29 14:33:55
【问题描述】:

出于安全考虑,我只需要向来自特定站点的用户显示一个页面,而不是直接访问者。

按照我目前的设置方式,将生成一个随机的 12 个字符的字符串并附加到 url。例如:

http://www.example.com?skey=a72bzy321bgf

skey 参数总是随机的,但总是有 12 个字符。所以基本上,如果我的 URL 有一个带有 12 个随机字符的 &key= 参数,那么页面就会正确显示。如果没有,游客就去别的地方。

关于如何将其编码到页面中的任何帮助,或者我应该谷歌找到必要的说明?我已经查看了所有内容,但还没有找到如何继续进行此操作,我也不真正知道要寻找什么。因此,我们将不胜感激。

谢谢!

【问题讨论】:

  • only display a page to users if they are coming from a specific site 所以你使用的是 http 引用变量?一些浏览器不发送它,或者有时它的格式不正确。如果您可以控制这两个站点,那么您应该在这两个站点之间创建通信,并且只允许来自第一个站点的用户使用随机密钥,以便他们可以连接到第二个站点。

标签: php string redirect random parameters


【解决方案1】:

请求skey的值并求值的长度。如果长度不等于12则使用die()来阻止用户看到该页面。在目标页面中使用如下。(@987654323 @)

<?php 
    if(!isset($_REQUEST['skey']) || strlen($_REQUEST['skey']) != 12){
        die("Soory,You came to this page in a Wrong Way.");
    }
?>
//Your Code will goes here.

【讨论】:

  • 感谢@Pravat!这完美地工作。我结合了其他人的建议,这是我的代码当前的设置方式: example.org/not-allowed.php"); exit; } ?> 谢谢!
【解决方案2】:

您可以获取 URL 的密钥,然后签入您的函数,因为它在您的页面开始时有效

$key = trim($_GET['key']);

if(!isValidKey($key)){
  //die('Invalid Key'); //or
  header("Location: wrongkey.html");
  exit;
}

【讨论】:

    【解决方案3】:

    你需要检查$_GET['skey']isset(),如果string length是12个字符。

    if (isset ($_GET['skey']) && strlen($_GET['skey']) == 12) {
        // Get in
    }
    else {
        // Go away
    }
    

    这当然不是检查用户来自何处的正确方法,因为您的引用 URL 需要以某种方式将 skey 设置为 URL 的一部分。

    你能检查一下你的$_SERVER['HTTP_REFERER']isset()吗?

    【讨论】:

    • 感谢您的建议——我会按照您的指示调查 $_SERVER['HTTP_REFERER'] isset()。
    【解决方案4】:

    谢谢大家!

    根据您的所有建议,我结合了一些东西,到目前为止这对我来说非常有效:

    <?php 
    if(!isset($_REQUEST['skey']) || strlen($_REQUEST['skey']) != 12){
         header("Location: http://example.org/not-allowed.php");
         exit;
    }
    ?>
    

    谢谢!希望我能支持你所有的回复。希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多