php.iniのデフォルトのタイムゾーンをヨーロッパ/ベルリンから別のタイムゾーンに変更しました。突然ログインスロットルのロックアウト数が混乱して残りの15分それはカウントダウンの代わりにカウントアップしています、それを修正するのを助けてください。スロットリングのためのデフォルトのタイムゾーンを変更してカウントダウンした回数が減少しました
コード:
<?php
$throttle = array(1 => 1, 10 => 2, 1000 => 'captcha');
$getfailedq = 'SELECT MAX(attempted) AS attempted FROM failed_logins';
$getfailed = $muc->prepare($getfailedq);
$getfailed->bindParam(1, $attempted);
$getfailed->execute();
if ($getfailed->rowCount() > 0) {
$row = $getfailed->fetch(PDO::FETCH_ASSOC);
$latest_attempt = (int) date('U', strtotime($row['attempted']));
$getfailedq = 'SELECT Count(*) AS failed FROM failed_logins WHERE attempted > Date_sub(Now(), INTERVAL 15 minute)';
$getfailed = $muc->prepare($getfailedq);
$getfailed->bindParam(1, $attempted);
$getfailed->execute();
if ($getfailed->rowCount() > 0) {
$row = $getfailed->fetch(PDO::FETCH_ASSOC);
$failed_attempts = (int) $row['failed'];
krsort($throttle);
foreach ($throttle as $attempts => $delay) {
if ($failed_attempts > $attempts) {
if (is_numeric($delay)) {
$remaining_delay = time() - $latest_attempt + $delay;
echo 'You must wait ' . $remaining_delay . ' seconds before your next login attempt';
} else {
echo "captcha";
}
break;
}
}
}
}
?>
-1を追加します。 [良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask)を読んで、[最小限の完全で検証可能な例]を提供してください(http://stackoverflow.com/ヘルプ/ mcve) –
あなたは頭を上げて投票することはできません。私はここで新しい人ではなく、専門家ではありません。何を期待していますか? – Serjio
downvotingの正当な理由です。サイトのガイドラインに合わせて質問を編集すると、私は投票を取り消すことができます。予想通り、[ヘルプセンター](http://stackoverflow.com/help)にアクセスしてください。ツアーに参加し、尋ねる前にサイトの仕組みについて詳しく読む。ありがとう。 –