PHP禁止列表制作

时间:2013-03-25 11:56:42

标签: php

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

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

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

你会如何解决这个问题?

2 个答案:

答案 0 :(得分: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();
}
?>

答案 1 :(得分:0)

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

<强> ban.php

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

<强>的index.php

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

这不会检查重复项,因此任何多次访问ban.php的人都会多次添加其IP。检查(ban.php)是非常简单的,所以我把它作为练习留给你。

希望这有帮助