【问题标题】:PHP referrer domain and subfilePHP 引用域和子文件
【发布时间】:2016-05-09 11:53:13
【问题描述】:

我有这个代码:

$allowed_host = 'domain.com';
$host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);

if(substr($host, 0 - strlen($allowed_host)) == $allowed_host) {
  echo "ok";
} else {
  echo "not ok";
  exit();
}

此代码基于域,但我如何检查域和 php 文件?

If referrer page: domain.com/fromok.php {echo "ok";} else {echo "not ok";}

【问题讨论】:

    标签: php referrer


    【解决方案1】:

    如果请求主机名以'domian.com' 结尾,例如'adomian.com',您的代码会给您“ok”。我猜你不想要它。

    你可以使用

    $allowed_host = 'domain.com';
    $allowed_path = '/fromok.php';
    $url_components = parse_url($_SERVER['HTTP_REFERER']);
    
    if((($url_components['host'] === $allowed_host) || (substr($url_components['host'], - (strlen($allowed_host) + 1) === '.' . $allowed_host)) && ($url_components['path'] === $allowed_path)) {
      echo "ok";
    } else {
      echo "not ok";
      exit();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-19
      • 2012-09-01
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      相关资源
      最近更新 更多