如何根据随机 URL 字符串重定向用户?
How to redirect users based on random URL string?
出于安全考虑,我只需要向来自特定站点的用户显示页面,而不是直接访问者。
按照我目前的设置方式,将生成一个随机的 12 个字符的字符串并附加到 url。例如:
http://www.example.com?skey=a72bzy321bgf
skey 参数总是随机的,但总是有 12 个字符。所以基本上,如果我的 URL 有一个包含 12 个随机字符的 &key= 参数,页面就会正确显示。如果没有,访客会去别的地方。
关于如何将其编码到页面中的任何帮助,或者我应该如何 Google 找到必要的说明?我已经四处寻找,但还没有找到如何继续下去,我也不知道到底要寻找什么。因此,我们将不胜感激任何帮助。
谢谢!
您可以获得 URL 的密钥,然后检查您的函数,因为它在您的页面开始时有效
$key = trim($_GET['key']);
if(!isValidKey($key)){
//die('Invalid Key'); //or
header("Location: wrongkey.html");
exit;
}
请求skey
的值发现value.If的长度不等于12然后使用die()防止用户看到page.Use如下在目标页面中。(http://www.example.com/index.php?skey=a72bzy321bgf
)
<?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.
您需要检查 $_GET['skey']
isset()
, and if the string length 是否为 12 个字符。
if (isset ($_GET['skey']) && strlen($_GET['skey']) == 12) {
// Get in
}
else {
// Go away
}
这当然不是检查用户来自何处的正确方法,因为您的推荐人 URL 需要以某种方式将 skey
设置为 URL 的一部分.
您可以检查一下您的 $_SERVER['HTTP_REFERER']
isset()
吗?
谢谢大家!
根据你的所有建议,我结合了一些东西,到目前为止这对我来说非常有效:
<?php
if(!isset($_REQUEST['skey']) || strlen($_REQUEST['skey']) != 12){
header("Location: http://example.org/not-allowed.php");
exit;
}
?>
谢谢!希望我能赞成你所有的回复。希望这对其他人有帮助。
出于安全考虑,我只需要向来自特定站点的用户显示页面,而不是直接访问者。
按照我目前的设置方式,将生成一个随机的 12 个字符的字符串并附加到 url。例如:
http://www.example.com?skey=a72bzy321bgf
skey 参数总是随机的,但总是有 12 个字符。所以基本上,如果我的 URL 有一个包含 12 个随机字符的 &key= 参数,页面就会正确显示。如果没有,访客会去别的地方。
关于如何将其编码到页面中的任何帮助,或者我应该如何 Google 找到必要的说明?我已经四处寻找,但还没有找到如何继续下去,我也不知道到底要寻找什么。因此,我们将不胜感激任何帮助。
谢谢!
您可以获得 URL 的密钥,然后检查您的函数,因为它在您的页面开始时有效
$key = trim($_GET['key']);
if(!isValidKey($key)){
//die('Invalid Key'); //or
header("Location: wrongkey.html");
exit;
}
请求skey
的值发现value.If的长度不等于12然后使用die()防止用户看到page.Use如下在目标页面中。(http://www.example.com/index.php?skey=a72bzy321bgf
)
<?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.
您需要检查 $_GET['skey']
isset()
, and if the string length 是否为 12 个字符。
if (isset ($_GET['skey']) && strlen($_GET['skey']) == 12) {
// Get in
}
else {
// Go away
}
这当然不是检查用户来自何处的正确方法,因为您的推荐人 URL 需要以某种方式将 skey
设置为 URL 的一部分.
您可以检查一下您的 $_SERVER['HTTP_REFERER']
isset()
吗?
谢谢大家!
根据你的所有建议,我结合了一些东西,到目前为止这对我来说非常有效:
<?php
if(!isset($_REQUEST['skey']) || strlen($_REQUEST['skey']) != 12){
header("Location: http://example.org/not-allowed.php");
exit;
}
?>
谢谢!希望我能赞成你所有的回复。希望这对其他人有帮助。