按要求用php写个案例
时间: 2024-04-03 09:31:47 浏览: 78
好的,下面是一个简单的案例,实现了您提出的需求:
```php
<?php
// 检测蜘蛛访问
function isSpider() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
$spiderList = array('spider', 'bot', 'crawl', 'slurp', 'sohu-search', 'lycos', 'robozilla', 'fast-webcrawler', 'yahoo', 'google', 'bing');
foreach ($spiderList as $spider) {
if (strpos($userAgent, $spider) !== false) {
return true;
}
}
return false;
}
// 部分IP地区显示指定页面
function isAllowedIp() {
$allowedIpList = array('127.0.0.1', '192.168.0.1');
$clientIp = $_SERVER['REMOTE_ADDR'];
if (in_array($clientIp, $allowedIpList)) {
return true;
}
return false;
}
// 早上8点到9点显示指定页面
function isAllowedTime() {
date_default_timezone_set('Asia/Shanghai');
$currentTime = date('H:i:s');
if ($currentTime >= '08:00:00' && $currentTime <= '09:00:00') {
return true;
}
return false;
}
// 特定来源访问时显示指定页面
function isAllowedReferer() {
$allowedRefererList = array('http://www.example.com', 'https://www.example.com');
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
foreach ($allowedRefererList as $allowedReferer) {
if (strpos($referer, $allowedReferer) !== false) {
return true;
}
}
return false;
}
// 根据条件返回指定页面或默认页面
function getPage() {
if (isSpider()) { // 蜘蛛访问
return 'spider.html';
} elseif (isAllowedIp()) { // 部分IP地区
return 'allowed_ip.html';
} elseif (isAllowedTime()) { // 早上8点到9点
return 'allowed_time.html';
} elseif (isAllowedReferer()) { // 特定来源
return 'allowed_referer.html';
} else { // 默认页面
return 'default.html';
}
}
// 输出页面
$page = getPage();
echo file_get_contents($page);
```
上面的代码实现了四个条件的判断,如果满足条件,则返回指定页面,否则返回默认页面。您可以根据需要修改指定页面的名称和对应的判断条件。
阅读全文