- Joined
- Feb 8, 2022
- Messages
- 203
- Reaction score
- 2
С бота завършихме и flood protection екстеншъна. Писах по напред, че ще има подобно нещо. Става въпрос за защита от прекомерни http рекуести или задържане на f5, пускане на аякс заяки в безкраен цикъл като:
или пък пускане на file_get_contents/curl/guzzle рекуести към сайта ви.
Класа е писан от турчин, като бота го пригоди да работи на php 8.3. В ext.php ще видите това:
интересува ви долния код където виждате 20, 30 и 90.
Съответно на 20 рекуеста наведнъж за 30 секунди ще направи бан за 90 секунди.
Това е по начало, а пък вие благодарение на тестове, може да ги редактирате.
Баннатите потребители се съхраняват в json файла в папката на екстеншъна и се изтриват като изтекът.
Също така баннатия потребител по начало се препраща в google.com.
Сметнато е че е по-добре от exit/die.
Може да го тествате на argoscms.pw с безкраен аякс като горния или по друг начин.
Цена: 15 евро.
ЗАБЕЛЕЖКА: това е проста защита за определен човек до 2 или 3ма още. Ако ви пуснат флууд от различни айпита, този скрипт няма да е работещ. Ползвайте cloudflare или нещо от неговия сорт..
Code:
// Define a function to get the Twitch game ID and then get streamers
function fetchTwitchStreams() {
var twitch_game_id = 0;
$.ajax({
url: "/ajax/ext/pok4/twitch_streams",
type: "POST",
data: {get_game: 1},
success: function(data) {
if(data) {
twitch_game_id = data;
// Make a new request with the game ID
$.ajax({
url: "/ajax/ext/pok4/twitch_streams",
type: "POST",
data: {get_streamers: 1, game_id: twitch_game_id},
success: function(data) {
if(data) {
$(".streamers").append(data);
}
}
});
}
}
});
}
// Set interval to call the function every 5 seconds (5000 milliseconds)
setInterval(fetchTwitchStreams, 1); // Adjust interval as per your requirement (e.g., 5000 for every 5 seconds)
Класа е писан от турчин, като бота го пригоди да работи на php 8.3. В ext.php ще видите това:
Code:
$jsonFile = 'ext/pok4/flood_protection/banned_users.json';
$this->requestLimiter = new \RequestLimiter($jsonFile);
$message = json_encode(["status" => false, "mesaj" => "https://www.google.com."]);
// If 20 requests are made in 30 seconds, ban for 90 seconds...
$this->requestLimiter->processRequest(20, 30, 90, $message);
Съответно на 20 рекуеста наведнъж за 30 секунди ще направи бан за 90 секунди.
Това е по начало, а пък вие благодарение на тестове, може да ги редактирате.
Баннатите потребители се съхраняват в json файла в папката на екстеншъна и се изтриват като изтекът.
Също така баннатия потребител по начало се препраща в google.com.
Сметнато е че е по-добре от exit/die.
Може да го тествате на argoscms.pw с безкраен аякс като горния или по друг начин.
Цена: 15 евро.
ЗАБЕЛЕЖКА: това е проста защита за определен човек до 2 или 3ма още. Ако ви пуснат флууд от различни айпита, този скрипт няма да е работещ. Ползвайте cloudflare или нещо от неговия сорт..
Last edited: