![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 185 Pomógł: 10 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jak zablokować IP np, na godzinę gdy ktoś 3 razy błędnie wpisze login lub hasło podczas logowania? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 17 Dołączył: 26.08.2007 Ostrzeżenie: (10%) ![]() ![]() |
Ja proponuje użyć cookie...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 185 Pomógł: 10 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 349 Pomógł: 72 Dołączył: 22.01.2008 Skąd: Wadowice/Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Robisz tak :
tworzysz w mysql tabele,do której będziesz dodawać zablokowane ip oraz godzine blokady. Następnie w cookies zapisujesz liczbe prób logowań,jeżeli jest większa niż 3 to dodajesz ip do tabeli.A przed każdą próbą logowania sprawdzasz czy dane ip nie jest w niej zawarte.Może słabe wydajnościowe,ale przy małych stronach się sprawdzi. -------------------- "PHP to człowiek. MySQL to również człowiek."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 74 Pomógł: 5 Dołączył: 17.07.2007 Skąd: Krakow Ostrzeżenie: (0%) ![]() ![]() |
Gorzej, jak ktoś ma zmienny IP.
Proponuję użyć tych dwóch rozwiązań. Do ustawiania cookie (musisz słać cookie przed czymkolwiek wysyłanym do przeglądarki czyli tekst itp.) służy setcookie" title="Zobacz w manualu PHP" target="_manual odczytujesz
-------------------- Pozdrawiam
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 3 Dołączył: 17.03.2008 Skąd: niekąd Ostrzeżenie: (0%) ![]() ![]() |
Np.
Kod <?php setcookie("ban","1",time()+99999); if($_COOKIE["ban"]<=3){ if($_POST["login"]=="" && $_POST["hasuo"]==""){ //wyświetla formularz... }else{ //tutaj spr. istnienie cookiesa i jeśli istnieje, dodaje 1 do jego wartości, jeśli login jest błędny (info na google;) ) //+ wykonuje logowanie czy co tam chcesz :P } }else{ if(!$ip=$_SERVER[HTTP_X_FORWARDED_FOR]){ $ip=$_SERVER[REMOTE_ADDR]; }//$ip $query="insert into `banned` (`ip`) values ('".$ip."')"; mysql_query($query); } ?> a do miejsca w którym chcesz bannować: Kod <?php if(!$ip=$_SERVER[HTTP_X_FORWARDED_FOR]){ $ip=$_SERVER[REMOTE_ADDR]; }//powtórka z rozrywki;] $query=mysql_num_rows(mysql_query("select * from `banned` where `ip` = '".$ip."')); if(mysql_query($query)){ die("Zostałeś zbannowany, wyp... ad"); } ?> Cytat musisz słać cookie przed czymkolwiek wysyłanym do przeglądarki czyli tekst itp. a ob_start() ? ![]() Ten post edytował widmo17 11.06.2008, 17:23:00 -------------------- "Lecz nikt nie może tracić z oczu tego, czego pragnie. Nawet kiedy przychodzą chwile, gdy zdaje się, że świat i inni są silniejsi. Sekret tkwi w tym, by się nie poddać."
www.widmo.tk - zapraszam na mój homepage ;> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:31 |