-2

index.phpとban.phpの2つのファイルがあります。

ban.phpにアクセスするすべての人がindex.phpを使用することをIP禁止したいと思います。

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アドレスを追加する必要があります。次に例を示します。

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を数回追加されます。これは(in)をチェックするのは簡単なban.phpので、演習としてあなたに任せました。

お役に立てれば

于 2013-03-25T12:07:08.743 に答える