在我的网站上,表单是通过 AJAX 引入的,并根据 sessionid 进行检查。我知道这不是最优的,但它对我们有用。如果引用者没有会话 ID,他们将被重定向回“另一个页面”。我需要允许一些外部 URL 直接访问表单。我们在带有表单链接的页面上设置 sessionid。
这是我们现在在表单页面上的内容:
<?php
$code = $_GET['sessionid'];
if(strcmp( $code , 'XXXXX' ) != 0) {
header("Location: http://www.domain.com/anotherpage.php");
}
?>
我需要允许一些外部域直接访问表单页面并且对此有问题:(我将它放在表单页面的 head 标签上方)
<?php
$code = $_GET['sessionid'];
$referrer = $_SERVER['HTTP_REFERER'];
if(strcmp( $code , 'XXXXX' ) !=0) {
header("Location: http://www.domain.com/anotherpage.php");
} else {
if (preg_match("/site1.com/",$referrer)) {
header('Location: http://www.domain.com/desiredpage.php');
}
}
?>
这仍然让我回到“anotherpage.php”有什么想法吗?
** * ** * **编辑* ** * ** * 感谢您的帮助,我要求的广告有效。现在我发现我问的并不完全正确。这会在 URL 后面附加 =sessionid?=XXXXX。这在我的网站上不是问题,因为我正在使用 .jquery .load 加载内容,因此 URL 不会更改。我不希望 sessionid 可见,现在它是可见的。我可以a)以某种方式“修剪”网址还是b)将这两个功能分开,以便它们是独占的?