←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

DontSayIP's jaki poprawny PATTERN?

  • +
  • -
camilost - zdjęcie camilost 27.09.2010

Mam takie PATTERNY w DontSayIPs:

#define PATTERN "([0-9].*[\., ].*[0-9].*[\., ].*[0-9].*[\., ].*[0-9])|(http://)|(www[\., ])|([\., ][^^\w]{0,5}(pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"
//#define PATTERN "([0-9].*[\., ].*[0-9].*[\., ].*[0-9].*[\., ].*[0-9])|(27[0-9][0-9][0-9])|(http:)|(www[\.,])|([\.,](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"//#define PATTERN "([0-9].*[\., ].*[0-9].*[\., ].*[0-9]|(27[0-9][0-9][0-9])|([\.,](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"


Pierwszy włączony aktualnie, pytanie który jest lepszy/który nie będzie banować np. za to:

"na de westwood bedzie mi dobrze"
"next map please"
"tylko 1bs yen w pierwsej rundzie"

Dzisiaj już przez to poszły bany za takie wiadomości. xD
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 27.09.2010

Pododawaj "." (kropki) przy pl, itp. wtedy na pewno banów przypadkowych będzie dużo mniej.
Użytkownik sebul edytował ten post 27.09.2010 16:14
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 27.09.2010

A to nie są moje pattern'y ? :lol:

Zawsze możesz korzystać ze standardowego(?)
#define PATTERN				"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"

W wolnej chwili postaram się jakiś sensowny przygotować.
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 27.09.2010

Tak, tylko nie kumam tego kodu:

([\., ][^^\w]{0,5}(pl|com|ru|de|net|info|org|biz|nl|lt|eu|name)


Jak dodać w nim 'globalnie' kropkę przed każdym wyrażeniem w nawiasie: (pl|com|ru|de|net|info|org|biz|nl|lt|eu|name)
Czyli np. .(pl|com|ru|de|net|info|org|biz|nl|lt|eu|name)
Tak zadziała? xD.

//UP Tak jakieś różne co znalazłem + te z WWW to te co kiedyś dla mnie robiłeś :)
I ten standardowy tylko wyczytuje IP /+PORT
: <
Użytkownik camilost edytował ten post 27.09.2010 16:19
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 27.09.2010

([\.,](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))
takie cos właśnie wyłapuje kropkę lub przecinek na początku a za nim kolejno pl lub de lub ru itd
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 27.09.2010

#define PATTERN	"([0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3})|(27[0-9][0-9][0-9])|((https?|www)[^^a-zA-Z0-9])|([^^a-zA-Z0-9](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"
ten powinien być dość mocny przy jednocześnie małej ilości wpadek

kropki i przecinki zamieniłem na wszystko poza literami, tzn że wyłapie tak www* jak i www_ itp

p.s.
powinien nie znaczy że taki będzie :P
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 27.09.2010

Wciąż banuje za:

na de westwood bedzie mi dobrze
next map please
tylko 1bs yen w pierwsej rundzie

Czyli pomyłkowo : D

Dodano 27 wrzesień 2010 - 20:16:
O i jeszcze doszło teraz: de_dustbunnies ^.^
Wcześniej tego nie było : D

Dodano 27 wrzesień 2010 - 20:20:
Nawet ja się załapałem (Nie miałem immu ^^)
"Dobrai de narqa chodz ktos do TT"
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 27.09.2010

Dobra. Przesadziłem w tym:
([^^a-zA-Z0-9](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))
może coś takiego:
([<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/naughty.gif' class='bbc_emoticon' alt='^^' />\W_](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))
Te przykłady co dałeś dobrze traktuje ;)
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 28.09.2010

Dobra git. ^^ Na razie do zamknięcia.

Dodano 28 wrzesień 2010 - 08:19:
Albo i nie ^^ byleco.pl i nie mam bana : D

Dodano 28 wrzesień 2010 - 08:20:
Taki mam teraz i nawet www.byleco.pl nie banuje xD.

#define PATTERN "([0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3})|(27[0-9][0-9][0-9])|((https?|www)[^^a-zA-Z0-9])|([^^\W_](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"

Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 28.09.2010

wymień ten nawias [] przed tymi wszystkimi końcówkami domen na:
[^^a-zA-Z0-9_ ]
żeby uznawało wszystkie znaki poza literami, cyframi i "_" oraz " "
albo na:
[\.,*]
żeby reagowało tylko na ".", "," i "*"

Trzeba by to na spokojnie przemyśleć, a ja chce za szybko :/
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 28.09.2010

Prawie wszystko gitarka ^^
Na co to zmienić:
((https?|www)[^^a-zA-Z0-9_ ])
Cały pattern
#define PATTERN	"([0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3})|(27[0-9][0-9][0-9])|((https?|www)[^^a-zA-Z0-9_ ])|([^^a-zA-Z0-9_ ](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"
Bo coś tego nie wczytuje. Napisałem www.pokemony pl i lipa ^^ (Chodzi o www.tekst)
Użytkownik camilost edytował ten post 28.09.2010 08:43
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 28.09.2010

ale www. powinno teraz działać. no chyba że ten amxx'owy regexp ma jakieś dziwne problemy.
zaraz potestuje to na serwerze i dam znać

Edit:
#define PATTERN	"([0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3}[^^a-zA-Z]+[0-9]{1,3})|(27[0-9][0-9][0-9])|((https?|www)[^^a-zA-Z0-9_ ])|([^^a-zA-Z0-9_ ](pl|com|ru|de|net|info|org|biz|nl|lt|eu|name))"
Chyba dobrze działa. Przynajmniej nie widziałem problemów na serwerze.
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 28.09.2010

Dobra moja wina chyba (Kod wygląda tak samo) w allowed.ini miałem "www.pl"
(nie wiem co to miało być ale usunąłem i działa.

www.wielkiedzieki-dozamkniecia.pl xD
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 28.09.2010

Przejrzałem cały temat i chciałbym skorzystać z tego patterna, ale się trochę pogubiłem i nie wiem który to jest ten prawidłowy... Pomoże ktoś? :D
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 28.09.2010

Poprosiłem o otwarcie ponieważ znalazły się nowe błędy:
"rusher"
"de_dustbunnies"

Chodzi o to że wykrywa na początku domenę ^^ jeśli nic przed tym nie ma : D czyli samo "deska" napisze i ban : P
I wyłapuje ru (domena) jak napisze samo rusher.

Więc trzeba dalej Pav kombionować.

@UP Najnowsze najlepsze. ;] Ale i tak do poprawy.
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 28.09.2010

[^^a-zA-Z0-9_ ]
A widzisz tam spację pomiędzy "_" a "]" ? To oznacza że nie zareaguje na spacje przed "de" czy "ru" i nie wykryje tam IP.

Testowałem nawet przed chwilą ten pattern i dobrze działa w takich przypadkach.
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 28.09.2010

Chodzi mi o sam napis bez spacji na początku (1 słowo wpisz - rusher) wykryje ru ; / (Mimo iż przed ru nie ma nic ;] )
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 28.09.2010

Mylisz się. Jakby przed "ru" nic nie było to by tam tego nie znalazło.
Wpisz w konsoli:
say ruskie
Iiii ? Problemu nie ma.
Otóż jeżeli wpiszesz tekst normalnie to jest dodawany cudzysłów i zamiast wprowadzonego:
ru
do przetworzenia jest:
"ru"

Jeżeli tak bardzo zależy ci na zmianie pattern'a to można to zrobić, lecz wystarczy użyć remove_quotes na początku sprawdzania i będzie ok.
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 29.09.2010

Dobra, już nie ma żadnego z powyższych błędów.
Do zamknięcia.
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 29.09.2010

Czyli którego patterna użyłeś?
Odpowiedz