我有两个文件:index.php 和 ban.php。
我想禁止任何访问 ban.php 的人使用 index.php。
我不能使用 mysql(加载问题)或让 php 写入.httaccess
(安全问题)。
你会如何解决这个问题?
我有两个文件:index.php 和 ban.php。
我想禁止任何访问 ban.php 的人使用 index.php。
我不能使用 mysql(加载问题)或让 php 写入.httaccess
(安全问题)。
你会如何解决这个问题?
创建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();
}
?>
首先,您需要将 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
) 是微不足道的,所以我把它留给你作为练习。
希望这可以帮助