Boty reklamujące
Najlepsza odpowiedź GwynBleidD 09.08.2015 11:25
Drobna analiza wyrażenia regularnego, umieszczonego w w/w temacie:
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])
Widać, że tworzył go ktoś kto nie zna się na wyrażeniach regularnych, bo po 1. można go zapisać prościej:
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])
a dwa: mały przykład tego, co ten regex złapie:
12 groszy za 3 modele w wersji 2 wiec naprawdę sie oplaca 1!!!
Dlaczego? bo łapie:
dowolną cyfrę, po niej dowolny ciąg znaków, po niej znak z dość szerokiej grupy, następnie znów dowolny ciąg znaków, znów cyfrę... i tak 4 razy (znaczy do złapania 4 cyr). Jaki to ma sens? kto umieszcza IP w ten sposób?
A czego nie złapie?
5X12X23X1
Co już może być zinterpretowane jako adres IP.
Sens ma łapanie: ciągu cyfr (max do 3ch, adres IP nie może posiadać więcej w 1 segmencie)) poprzedzonego max 3 dowolnymi znakami (po wpisaniu większej ilości znaków nie wygląda to już jak adres IP) i tak 4 razy, gdzie po ostatniej cyfrze już nie łapiemy dowolnych 3ch znaków.
Regex:
[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?
(zapisane bez użycia notacji {1,3} bo nie wiem, czy amxx to obsługuje)
Tutaj już się trzeba natrudzić, żeby znaleźć normalnie wyglądającą wypowiedź, która zostanie wyłapana. I nie znalazłem niczego, co by wyglądało jak adres IP chociaż troszkę, a by nie było łapane.
Przejdź do postu
WeBsteR
08.08.2015
Witam, od jakiegoś czasu monotonnie atakują moje serwery boty reklamowe i chciałbym wyjść im na przeciw, dostają notorycznie bana, lecz po jakimś czasie znów powracają w zdwojonej sile. Widziałem na forum, iż potrzeba:
1. http://darkgl.pl/201...d-np-ct-shield/
2. http://amxx.pl/topic...e-boty-ip-spam/
Chciałbym się zapytać, jak odpowiednio skonfigurować te pluginy, aby nie przepuściły żadnej reklamy, bota, graczy z sztucznie generowanym cid itd.
Najlepsza odpowiedź
GwynBleidD
09.08.2015
Drobna analiza wyrażenia regularnego, umieszczonego w w/w temacie:
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])
Widać, że tworzył go ktoś kto nie zna się na wyrażeniach regularnych, bo po 1. można go zapisać prościej:
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])
a dwa: mały przykład tego, co ten regex złapie:
12 groszy za 3 modele w wersji 2 wiec naprawdę sie oplaca 1!!!
Dlaczego? bo łapie:
dowolną cyfrę, po niej dowolny ciąg znaków, po niej znak z dość szerokiej grupy, następnie znów dowolny ciąg znaków, znów cyfrę... i tak 4 razy (znaczy do złapania 4 cyr). Jaki to ma sens? kto umieszcza IP w ten sposób?
A czego nie złapie?
5X12X23X1
Co już może być zinterpretowane jako adres IP.
Sens ma łapanie: ciągu cyfr (max do 3ch, adres IP nie może posiadać więcej w 1 segmencie)) poprzedzonego max 3 dowolnymi znakami (po wpisaniu większej ilości znaków nie wygląda to już jak adres IP) i tak 4 razy, gdzie po ostatniej cyfrze już nie łapiemy dowolnych 3ch znaków.
Regex:
[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?
(zapisane bez użycia notacji {1,3} bo nie wiem, czy amxx to obsługuje)
Tutaj już się trzeba natrudzić, żeby znaleźć normalnie wyglądającą wypowiedź, która zostanie wyłapana. I nie znalazłem niczego, co by wyglądało jak adres IP chociaż troszkę, a by nie było łapane.
DR HOUSE
09.08.2015
Czyli w tamtym temacie powinniśmy zamienić to
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])
Na to:
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])
? Czy na które bo już się zgubiłem ;d
WeBsteR
09.08.2015
Drobna analiza wyrażenia regularnego, umieszczonego w w/w temacie:
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])Widać, że tworzył go ktoś kto nie zna się na wyrażeniach regularnych, bo po 1. można go zapisać prościej:
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])a dwa: mały przykład tego, co ten regex złapie:
12 groszy za 3 modele w wersji 2 wiec naprawdę sie oplaca 1!!!Dlaczego? bo łapie:
dowolną cyfrę, po niej dowolny ciąg znaków, po niej znak z dość szerokiej grupy, następnie znów dowolny ciąg znaków, znów cyfrę... i tak 4 razy (znaczy do złapania 4 cyr). Jaki to ma sens? kto umieszcza IP w ten sposób?
A czego nie złapie?
5X12X23X1Co już może być zinterpretowane jako adres IP.
Sens ma łapanie: ciągu cyfr (max do 3ch, adres IP nie może posiadać więcej w 1 segmencie)) poprzedzonego max 3 dowolnymi znakami (po wpisaniu większej ilości znaków nie wygląda to już jak adres IP) i tak 4 razy, gdzie po ostatniej cyfrze już nie łapiemy dowolnych 3ch znaków.
Regex:
[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?(zapisane bez użycia notacji {1,3} bo nie wiem, czy amxx to obsługuje)
Tutaj już się trzeba natrudzić, żeby znaleźć normalnie wyglądającą wypowiedź, która zostanie wyłapana. I nie znalazłem niczego, co by wyglądało jak adres IP chociaż troszkę, a by nie było łapane.
Dzięki, super to opisałeś
Lecz, który z powyższych Regex będzie poprawny ?
Powinienem zamienić to:
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])
na
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])
czy na
[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?
czy może na
[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]
?
GwynBleidD
09.08.2015
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])
i
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])
to dokładnie to samo, tylko inaczej zapisane.
[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?
i
[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]
również, jednak 2 wersji AMXX może nie obsłużyć, wtedy nie będzie łapało żadnego IP albo będzie wysypywało błędy. Jednak jest wydajniejszą wersją, więc musicie sprawdzić czy zadziała czy nie, jeśli zadziała to użyć, jeśli nie to 1 wersji która zadziała na 100%.
WeBsteR
09.08.2015
([0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9].*[qwertyuiopasdfghjklzxcvbnm`,./;'-= ].*[0-9])i
([0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9].*[a-z`,./;'-= ].*[0-9])to dokładnie to samo, tylko inaczej zapisane.
[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?..?.?[0-9][0-9]?[0-9]?i
[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]również, jednak 2 wersji AMXX może nie obsłużyć, wtedy nie będzie łapało żadnego IP albo będzie wysypywało błędy. Jednak jest wydajniejszą wersją, więc musicie sprawdzić czy zadziała czy nie, jeśli zadziała to użyć, jeśli nie to 1 wersji która zadziała na 100%.
O to mi chodziło, należy się duży +! idę testować
WeBsteR
10.08.2015
Wersja:
[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]{1,3}.{1,3}[0-9]
Bardzo dobrze działa, testowane przy full serwerze.
Bardzo dziękuje za pomoc oraz zrobienie nowego Regex.
Pozdrawiam.