Beste mensen,

Ik heb veel last van ongewenste bezoekers op mijn website en wil deze graag blokkeren.
Nu heb ik een klein stukje script waarmee dit goed werkt, alleen ik snap niet hoe ik een bepaalde range kan blokkeren.
Is er iemand die me kan helpen? Php versie 7.4

$blacklist = array('31.21.34.127');

$user_ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';

if ((array_search($user_ip, $blacklist)) !== false) {
   echo "<script> location.href='https://www.wwf.nl'; </script>";
   exit();
}
Met strpos.


<?php
if(strpos($_SERVER['REMOTE_ADDR'], "123.45") === 0)
{
    die();
}
?>


Maar .htaccess is nog effectiever. Dan krijgen ze een 403 header. Mochten het botjes zijn, dan laten ze je mogelijk met rust.
Ik stuur de php header mee
header("HTTP/1.1 301 Moved Permanently");
- Ariën - op 06/07/2022 21:07:50

Met strpos.


<?php
if(strpos($_SERVER['REMOTE_ADDR'], "123.45") === 0)
{
    die();
}
?>


Maar .htaccess is nog effectiever. Dan krijgen ze een 403 header. Mochten het botjes zijn, dan laten ze je mogelijk met rust.



Het benaderen en wijzigen van de htaccess file vind ik omslachtiger dan de php code aanpassen. Maar misschien is en blijft dit toch de beste optie voor de werking. Zijn er in jouw regel ook meerdere ip adressen toe te voegen of geldt dit enkel voor 1 adres?

Zover ik heb kunnen ontdekken zijn het hoofdzakelijk bots die vanuit Frankrijk om de 15 minuten de website benaderen. Omdat ik een teller op de website heb waarbij ik graag de unieke bezoekers wil registreren, wordt hierbij dus de werkelijke aantallen echte bezoekers onoverzichtelijk.

[size=xsmall]Toevoeging op 06/07/2022 23:20:02:[/size]

Jan R op 06/07/2022 22:44:53

Ik stuur de php header mee
header("HTTP/1.1 301 Moved Permanently");


Die header werkt bij mij niet, daar krijg ik een error op omdat ik kennelijk al eerder een header in het script heb verwerkt. Vandaar het stukje script als oplossing.
Kijk eens of die bots een aparte useragent hebben waarmee ze zich van normale bezoekers onderscheiden? Anders kan je misschien nog wat met sessies doen. Misschien lusten de botjes geen cookies die bij sessions gebruikt worden?
- Ariën - op 07/07/2022 00:08:18

Kijk eens of die bots een aparte useragent hebben waarmee ze zich van normale bezoekers onderscheiden? Anders kan je misschien nog wat met sessies doen. Misschien lusten de botjes geen cookies die bij sessions gebruikt worden?


Ik heb toch maar de keus gemaakt om toch te blocken via htaccess. Heb ik ook geen gedoe. En met ranges werken gaat ook heel handig. Ik heb enkel een website voor Nederlandse en Belgische bezoekers, alles buiten die grenzen mag weg blijven.

Ik moet alleen google en alle social media adressen zien vrij te houden. Alles wordt opgeslagen in de database, dus ik zie wat er gebeurd. Adres controleren via whois en deny-en maar.
Nanno Koerts op 07/07/2022 00:25:36

[quote="- Ariën - op 07/07/2022 00:08:18"]
Kijk eens of die bots een aparte useragent hebben waarmee ze zich van normale bezoekers onderscheiden? Anders kan je misschien nog wat met sessies doen. Misschien lusten de botjes geen cookies die bij sessions gebruikt worden?


Ik heb toch maar de keus gemaakt om toch te blocken via htaccess. Heb ik ook geen gedoe. En met ranges werken gaat ook heel handig. Ik heb enkel een website voor Nederlandse en Belgische bezoekers, alles buiten die grenzen mag weg blijven.

Ik moet alleen google en alle social media adressen zien vrij te houden. Alles wordt opgeslagen in de database, dus ik zie wat er gebeurd. Adres controleren via whois en deny-en maar.
[/quote]
Werken met ip2Geo techniek, en je database up-to-date blijven houden?

- Ariën - op 07/07/2022 00:37:57

[quote="Nanno Koerts op 07/07/2022 00:25:36"]
[quote="- Ariën - op 07/07/2022 00:08:18"]
Kijk eens of die bots een aparte useragent hebben waarmee ze zich van normale bezoekers onderscheiden? Anders kan je misschien nog wat met sessies doen. Misschien lusten de botjes geen cookies die bij sessions gebruikt worden?


Ik heb toch maar de keus gemaakt om toch te blocken via htaccess. Heb ik ook geen gedoe. En met ranges werken gaat ook heel handig. Ik heb enkel een website voor Nederlandse en Belgische bezoekers, alles buiten die grenzen mag weg blijven.

Ik moet alleen google en alle social media adressen zien vrij te houden. Alles wordt opgeslagen in de database, dus ik zie wat er gebeurd. Adres controleren via whois en deny-en maar.
[/quote]
Werken met ip2Geo techniek, en je database up-to-date blijven houden?


[/quote]

Nee, met een simpel stukje php code die het ip-adres in de database schrijft en ik er weer gefilterd uit haal om de cijfers op de pagina weer te geven. Is een aparte database enkel voor deze telling.
Ga je voor elke request op je site nou een WHOIS uitvoeren?
In dat geval lijkt ip2Geo een beter idee, waar ik op doelde.
- Ariën - op 07/07/2022 01:33:43

Ga je voor elke request op je site nou een WHOIS uitvoeren?
In dat geval lijkt ip2Geo een beter idee, waar ik op doelde.


Die Geo is voor mij nieuw. Dus niet bekend met de mogelijkheden en opties. Ik ga het eens bekijken.

En nee, ik bekijk de adressen op numerieke volgorde en dan springen bepaalde adressen eruit die veel hits bezorgen, Die check ik dan. Zo kwam ik een server in Marokko en in China tegen die veel hits hadden. Ik houd de teller op de website in de gaten, zie ik ineens een snel afwijkend getal, dan ga ik even in de database loeren.
Maar kijk je ook naar useragent-strings?
Eventueel kan je ook CloudFlare inzetten.

Reageren