japek85
8.02.2010, 15:19:10
Chodzi mi o takie rozwiązanie, że dla serwisu ogłoszeniowego swoje anonse mogą dodać również użytkownicy, którzy nie są zarejestrowani i skrypt, który mi jest potrzebny sprawdzałby, czy przez ostatnie X minut z ostatniego ip było dodane już ogłoszenie...
jeśli TAK to wyświetla: z uwagi na bezpieczeństwo Twój dostęp do funkcji DODAJ OGŁOSZENIE został zablokowany na 10 minut, chcesz korzystać z serwisu bez ograniczeń zarejestruj się...
jeśli NIE: przekierowuje do formularza dodawania ogłoszenia.
Najlepiej jeśli te IP zapisywane byłyby w jakimś pliku tekstowym...
Jeśli ktoś ma jakiś pomysł, lub gotowe rozwiązanie, wdzięczny będę.
Pozdrawiam.
marcio
8.02.2010, 15:27:21
Sa 3 proste rozwiazania.
1.Cookie z expire 10min
2.plik txt z ip i user agent i czas przy wyswietlaniu sprawdzasz czy istnieje takei ip i user agent w pliku jesli nie to dodajesz w przeciwnym razie nie dodajesz.
3.to samo co wyzej tylko baza danych.
Rozwiazanie nr 2 jest glupie bo z plikami bedziesz musial wiecej kombinowac niz z baza.
Co do 1 to ktos kto sie zna usunie cookie i bedzie mogl spamowac, potem mozna to zawsze zautomatyzowac.
tehaha
8.02.2010, 16:17:31
Ale TY chcesz się zabezpieczyć przed ludźmi czy botami? bo jak to drugie to wstawi sobie re-captcha
japek85
8.02.2010, 16:31:17
chodzi mi o zabezpieczenie przed złośliwymi ludźmi
attimo
8.02.2010, 16:33:38
To daj cookie i po sprawie.
cookie
japek85
8.02.2010, 16:34:06
Czy mógłbyś pomóc wprowadzić mi to zastosowanie z bazą danych?
Napisać kod, który bym zmodyfikował pod swoje potrzeby?
gothye
8.02.2010, 16:36:48
wprowadź limit dodawania ogłoszeń na dobę po przez zapis IP usera do bazy ,do ciasteczek ,po za tym przez aktywacje ogłoszenia np po wysłaniu kodu do aktywacji na email
altruista2
9.02.2010, 01:57:48
Struktura bazy:
Tabela: Dodane
Czas - INT
IP - INT
Agent - varchar 6
Funkcja do dodawania:
# zwraca boolean, czy można dodać wpis.
function mozna_dodac() {
mysql_query("DELETE FROM Dodane WHERE Czas<".($czas-600
)); // 600 sekund $agent = substr(md5($_SERVER['HTTP_USER_AGENT']), 0
, 6
); $ip = ip2long($_SERVER["REMOTE_ADDR"]); return false;
}else{
mysql_query("INSERT INTO Dodane (Czas,Agent,IP) VALUES ('$czas','$agent','$ip')"); return true;
}
}
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.