我有两个文件:index.php和ban.php。
我想IP禁止任何访问ban.php的人使用index.php。
我不能使用mysql(加载问题)或让php写入.httaccess
(安全问题)。
你会如何解决这个问题?
答案 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
)是非常简单的,所以我把它作为练习留给你。
希望这有帮助