如何检查PHP中的传入链接

时间:2014-04-22 11:47:10

标签: php html href http-referer

我正在编写一个PHP模块,我需要检查传入链接是否来自特定页面。

我有2页:

  1. Services.php: 我有href这样的东西
  2. <a href="product.php">SUBSCRIBE NOW</a>
    
    1. Product.php:我在这里检查传入链接是否来自services.php,使用以下代码:
    2. $ref_url = $_SERVER['HTTP_REFERER'];
      $refData = parse_url($ref_url);
      if (strpos($refData['path'],'services.php') !== false ) 
      {
        // Subscribe_Module
      }
      else
      {
        //Other
      }
      

      只要用户点击

      ,这样就可以了
      <a href="product.php">SUBSCRIBE NOW</a>
      

      但是,有一个副作用,当用户在services.php页面上然后单击标题上的product.php时,它会执行PHP中的subscribe_module。任何想法,如何解决它?

      由于

1 个答案:

答案 0 :(得分:1)

简单,在If内嵌入另一个循环:)

if (strpos($refData['path'],'services.php') !== false ) 
{
  if($_SERVER['REQUEST_URI'] == abc/services.php)
  {
     //call services function
  }
  else
  {
    // Subscribe_Module
  }

}
else
{
  //Other
}