dk1342
3.04.2009, 09:07:38
Witam, otóż robie system banów, i jak wiadomo np. neostrada ma zmienne ip, i jak się zbanuje np.
XX.XXX.XXX.XXX to drugiego dnia(po resecie) taka osoba będzie umiała już wejść na stronę, ale też jak wiadomo początki się nie zmieniają czyli np. 12.3.XXX.XXX zmienia się tylko końcówka, więc można zbanować tak 12.3* gdzie gwiazdka zastąpi dowolną ilość znaków i teraz sedno jaką funkcją to zrobić wiem że będzie to chyba preg ale jak wpisuje w google/manualu jest ich pare więc którą dokładnie ?
zzeus
3.04.2009, 09:19:30
preg_match() sprawdzasz czy dany ciąg pasuje do wyrażenia
dk1342
3.04.2009, 09:31:50
nie zabardzo wiem jak to ułożyć narazie mam takie coś ale na pewno jest to źle :/
<?php
$ip = "12.3*"; // początek ip
$pattern = '/^'.$ip.'/';
preg_match($pattern, $ip, $matches, PREG_OFFSET_CAPTURE
); // i potem w ifu sprawdzam czy $_SERVER['REMOTE_ADDR'] == $matches ...
?>
nie wiem za bardzo co ułożyć w tym pattern
kkuba
3.04.2009, 09:59:02
Banując na 'host' (host to jest coś innego, ale skoro tak nazywasz dwa pierwsze człony IP, niech tak będzie) dopisuj ban typu: "127.0" zamiast "127.0.0.1", następnie rozbijasz IP wchodzącego na stronę i sprawdzasz, czy dwa pierwsze człony równają się temu wpisowi.
ps. lepiej daruj sobie takie banowanie, bo zbanujesz pół miasta jeśli nie lepiej.
djszaman
3.04.2009, 12:51:44
W jaki sposób utworzyć wyrażenie regularne, które wyszuka mi wyrazy z dwoma powtarzającymi się obok siebie literami, np. senny, denny, ścienny itd.?
megawebmaster
3.04.2009, 13:18:12
Np. ^(.)*nn(.)*$
djszaman
3.04.2009, 19:16:05
hmmm, nie sprecyzowałem dokładnie. Chciałbym, aby powtarzające się litery były dowolne, nie koniecznie nn, ale np. aa, bb, cc...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.