index.phpとban.phpの2つのファイルがあります。
ban.phpにアクセスするすべての人がindex.phpを使用することをIP禁止したいと思います。
mysqlを使用できない(ロードの問題)か、phpに書き込みさせることができません.httaccess
(セキュリティの問題)。
これをどのように解決しますか?
index.phpとban.phpの2つのファイルがあります。
ban.phpにアクセスするすべての人がindex.phpを使用することをIP禁止したいと思います。
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アドレスを追加する必要があります。次に例を示します。
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
ので、演習としてあなたに任せました。
お役に立てれば