Witam
Jeśli czegoś takiego nie ma, to może byłby to dobry pomysł na uniemożliwienie robotom rejestracji (chociaż jeszcze nie wiem, czy do końca tego chcę, bo czytałem, że potem wściekle nabijają transfer).
Do rzeczy. Na forum
http://www.ludziesportu.pl/forum/ mam zarówno obrazek jak i potwierdzenie akceptacji regulaminu (nie wiem czy standardowe czy nie, bo nie ja instalowałem), ale i tak roboty wchodzą na forum jak w masło. Najśmieszniejsze jest to, że nic z tego nie mają, bo cały profil użytkownika jest niestandardowy (nie ma np. pola "www"), ale zaśmiecają mi forum.
W związku z tym przyszła mi do głowy banalna rzecz, której roboty (wg mnie przynajmniej) szybko nie obejdą. Gdyby przy rejestracji było pole, w którym jest przygotowane przeze mnie pytanie, które musi się zgadzać z odpowiedzią. Pytanie i odpowiedź mogą być nawet wpisane na żywca do pliku, lub do bazy - wszystko jedno, nie musi być wyszukany formularz wprowadzania. Pytanie mogłoby wyglądać np tak: "Dokończ zdanie: Czterej pancerni i..." oraz odpowiedź "pies". Przypuszczam, że 99% ludzi nie będzie miało problemu z odpowiedzią, natomiast 99% robotów tak. A jak jakiś rozczai, to wtedy zmienię na kolejne inteligentne pytanie. Za tym jednym procentem ludzi, którzy polegną na pytaniu nie będę płakał, a z jednym procentem robotów już sobie łatwiej poradzę.
Czy jest taki mod/hack? Jeśli nie, to poprosiłbym o pomoc, w jego napisaniu (ze mną jest taki problem, że rozczaiłem sobie metodą prób i błędów "czyste php", ale mam problemy z tym "troszkę dla mnie innym php", które jest używane w forum. Przez te templaty, i includy nie rozeznałem się dobrze w strukturze kodu). Próbowałem zrobić zwykły warunek w pliku, który przy rejestracji wskazany jest przez <form action>:
Kod:
if ($_POST['moje_pytanie']==$moja_odpowiedz)
{ cała reszta pliku } else {nie puszczam dalej - header:powrót do rejestracji;}
, ale mi się nie udało. Problemem może być to, że pliki dotyczące rejestracji troszkę zostały zmodyfikowane na potrzeby portalu. Dlatego pomyślałem sobie, żeby wrzucić ten fragment kodu w miejsce, które odpowiada za pozostałe warunki phpbb (czy istnieje już taki login, sprawdzenie wyświetlanego kodu itp).
Hmm... wydaje mi się, że taki bajer przydałby się nie tylko mnie. Np. ostatnio to mnie jakiś robot wkurzył strasznie, bo zarejestrował usera, który miał entera w nazwie (albo inny taki znak, który łamał linię, i był obcinany przy wyświetlaniu). User nazywał się "am <tu było złamanie linii> i jakaś reszta", której nie pamiętam. Ale się zdziwiłem, że nie mogłem go znaleźć wpisując nazwę "am" w panelu administracyjnym phpbb, dopiero wejście na żywca do bazy dało mi odpowiedź, dlaczego.
Aha, a'propos bazy, tylko mnie nie zjedzcie
Pytanie wydaje mi się na tyle trywialne, że aż wstyd zakładać osobny wątek, ale coś nie potrafię znaleźć odpowiedzi. Gdy zmienię hasło w bazie danych, to w którym miejscu auaktualnia się zmianę w phpbb? Czy hasło jest kodowane w BD, czy zapisywane do jakiegoś pliku?
Z góry dzięki za pomoc.
Pozdrawiam, Bartek
www.ludziesportu.pl