私は自分のサイト用の anto-fload スクリプトを作成しています。fail2ban などのようにそれを処理するサービスを使用することはできません。$_SERVER['REMOTE_ADDR'] 値に関する私の質問。この関数が偽の IP を返す方法はありますか? これが可能であるとどこかで聞いたので、それがどのように起こっているのか、それを防ぐために何ができるのか知りたいですか? それは私のスクリプトです:
$ip = $_SERVER['REMOTE_ADDR'];
$query = "SELECT * from `banned_users` WHERE `ip`='".$ip."'";
if(mysql_num_rows(mysql_query($query))!=0)die("you have been banned from the site!");
if(isset($_SESSION['views']) && isset($_SESSION['time']) && $_SESSION['time']>=time()-2)$_SESSION['views']++;
else {
$_SESSION['views']=1;
$_SESSION['time'] = time();
}
if($_SESSION['views']>=15){
$query = "INSERT into `banned_users` values ('',".time().",'".$ip."') ";
mysql_query($query);
die();
}
ご覧のとおり、ユーザーが 2 秒間に 15 回以上更新すると、そのユーザーはサイトから追放されます。私が持っている別の質問は、15 の操作に関するものです。それは良い値ですか? 下げるべきですか?私が持っているホスティングには帯域幅の制限があるためです。
ありがとう。