Php 仅允许在中包含参数的URL

Php 仅允许在中包含参数的URL,php,.htaccess,url,parameter-passing,url-parameters,Php,.htaccess,Url,Parameter Passing,Url Parameters,因此,我有一个url,它重定向到另一个执行双重元刷新(cleans referer),我只想在url带有参数时允许查看第二个url 当前设置为: urlA.php --DMR---> urlB.php 我希望用户只能从URAL中看到 URLB,但是当中间人被清除时,我认为我不能通过代码中的引用器检查。 所以我想检查一个参数,所以只有当一个特殊的参数出现时,urlB才可以访问,比如: urlA.php ----DMR---> urlB.php ///NOT POSSIBL

因此,我有一个
url
,它重定向到另一个执行
双重元刷新(cleans referer)
,我只想在
url带有参数时允许查看
第二个url

当前设置为:

urlA.php  --DMR--->  urlB.php
<>我希望用户只能从URAL</代码>中看到<代码> URLB,但是当中间人被清除时,我认为我不能通过代码中的引用器检查。 所以我想检查一个参数,所以只有当一个特殊的参数出现时,urlB才可以访问,比如:

urlA.php  ----DMR--->  urlB.php   ///NOT POSSIBLE

urlA.php?key=xxxx  ----DMR--->  urlB.php   /// POSSIBLE

提前感谢您。

如果您正在传递GET参数,您当然可以使用:

<?php 
if(!isset($_GET["key"]) || $_GET["key"] !== "urlA.php"){
   die("you must come from a certain page" );
}else{
  echo "You came from the right place";
}

我得到了以下错误:致命错误:无法在/home/XXX/test.php第4行的表达式结果上使用isset()(您可以改为使用“null!==expression”),这使得它可以工作,但是如果该键不是确切的键,您能否请重新措辞,使其“死亡”?(这是因为我有很多html内容,我只想在密钥正确的情况下加载这些内容。三元组===将确保它是正确的密钥,请提供一个与此不匹配的示例,您需要将“urlA.php”更改为您要传递的任何参数:)例如,如果您有“key=xxxx”,则需要将代码更改为if(是的,我理解,但我在想,如果键(不同于)XXX然后死了,否则继续,我知道我表达它很糟糕:P