要限制PHP对外请求,可以使用以下几种方法:
$allowedIPs = ['127.0.0.1', '192.168.0.1']; // 允许的IP地址列表
$clientIP = $_SERVER['REMOTE_ADDR']; // 获取客户端IP地址
if (!in_array($clientIP, $allowedIPs)) {
// IP地址不在白名单中,拒绝请求或返回错误信息
die('Access Denied');
}
$validTokens = ['abc123', 'xyz456']; // 有效的API密钥列表
$apiKey = $_GET['api_key']; // 获取API密钥
if (!in_array($apiKey, $validTokens)) {
// API密钥无效,拒绝请求或返回错误信息
die('Invalid API Key');
}
$cache = new Redis(); // 实例化缓存对象
$cache->connect('127.0.0.1', 6379); // 连接Redis服务器
$clientIP = $_SERVER['REMOTE_ADDR']; // 获取客户端IP地址
$requestCount = $cache->get('request_count:' . $clientIP); // 获取请求次数
if ($requestCount >= 10) {
// 请求次数超过限制,拒绝请求或返回错误信息
die('Too Many Requests');
}
// 增加请求次数,并设置过期时间
$cache->incr('request_count:' . $clientIP);
$cache->expire('request_count:' . $clientIP, 60);
以上方法可以根据实际需求进行组合使用,以实现对PHP对外请求的限制。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站