-2

我有两个文件:index.php 和 ban.php。

我想禁止任何访问 ban.php 的人使用 index.php。

我不能使用 mysql(加载问题)或让 php 写入.httaccess(安全问题)。

你会如何解决这个问题?

4

2 回答 2

1

创建banlist.txt

<?
// In ban.php
$fp = fopen('banlist.txt','a+');
fwrite($fp,$USER_IP);
?>

<?
// In index.php
$list = file(banlist.txt);
if(in_array($USER_IP,$list)){
    header('Location:ban.php');
    die();
}
?>
于 2013-03-25T12:04:08.507 回答
0

首先,您需要将 IP 地址添加到可以从这两个文件访问的文件中,例如:

禁止.php

<?php
$ipAddress = $_SERVER['REMOTE_ADDR'];   // get the ip
$list  = file_get_contents('ipbans.txt');
$list .= $ipAddress . '\n';  
file_put_contents('ipbans.txt', $list);

索引.php

<?php
$file = file('ipbans.txt');
foreach ($file as $line)
{
    if ($_SERVER['REMOTE_ADDR'] == $line) {
        die; // or header('Location:') or something...
    }
}

这不会检查重复项,因此任何多次访问的人都会ban.php多次添加他们的 IP。检查 (in ban.php) 是微不足道的,所以我把它留给你作为练习。

希望这可以帮助

于 2013-03-25T12:07:08.743 回答