1

我想阻止直接访问我的 php 文件。如何设置它只响应来自服务器或 domain1.com 或 domain2.com 的请求?我需要php代码。

有一个示例,我使用此代码仅响应服务器请求:

<?php
if(!isset($_SERVER['HTTP_REFERER'])){
    header('location:http://www.sitename.com/error.php');
    exit;
}


echo " 

TEST

";
?>
4

1 回答 1

0

测试引用的 URL 中是否包含您的域。您可以使用正则表达式来测试多个域。

if (!isset($_SERVER['HTTP_REFERER']) || !preg_match('#^https?://[^/]*(?:domain1|domain2)\.com/#', $_SERVER['HTTP_REFERER'])) {
    header('location:http://www.sitename.com/error.php');
    exit;
}

替换domain1domain2与您的实际域。

于 2019-10-14T17:36:09.380 回答