以下是一个PHP实例,展示如何通过设置HTTP头部来拒绝来自特定来源的请求。
```php

// 设置一个数组,包含你想要拒绝的来源IP地址或域名
$allowed_origins = [
'192.168.1.1',
'example.com',
'anotherdomain.com'
];
// 获取请求的来源
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
// 检查来源是否在允许列表中
if (!in_array($origin, $allowed_origins)) {
// 如果不在允许列表中,设置HTTP头部拒绝请求
header('Access-Control-Allow-Origin: *'); // 设置为 * 允许所有来源,或指定特定的来源
header('HTTP/1.1 403 Forbidden'); // 设置状态码为403,表示请求被拒绝
exit; // 退出脚本,不执行后面的代码
}
// 如果请求的来源在允许列表中,继续执行脚本
// ... 你的代码逻辑 ...
>
```
| 变量 | 描述 |
|---|---|
| `$allowed_origins` | 一个包含允许访问的来源IP地址或域名的数组。 |
| `$origin` | 通过`$_SERVER['HTTP_ORIGIN']`获取的请求来源。 |
| `in_array()` | PHP函数,用于检查数组中是否存在指定的值。 |
| `header()` | PHP函数,用于发送原始的HTTP头部信息。 |
| `exit()` | PHP函数,用于立即终止脚本执行。 |
通过上述代码,你可以控制哪些来源可以访问你的服务器资源。如果请求的来源不在`$allowed_origins`数组中,脚本将发送一个403状态码,并拒绝请求。









