Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Blokada IP po błędnym logowaniu
marian84
post
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?
Go to the top of the page
+Quote Post
Puzi
post
Post #2





Grupa: Zarejestrowani
Postów: 231
Pomógł: 17
Dołączył: 26.08.2007

Ostrzeżenie: (10%)
X----


Ja proponuje użyć cookie...
Go to the top of the page
+Quote Post
marian84
post
Post #3





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

Ostrzeżenie: (0%)
-----


Cytat(Puzi @ 11.06.2008, 17:35:02 ) *
Ja proponuje użyć cookie...


No tak, tylko jak?? php ciagle się uczę więc prosze o jakieś konkrety.
Go to the top of the page
+Quote Post
k_@_m_i_l
post
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."
Go to the top of the page
+Quote Post
simple programme...
post
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
  1. <?php
  2. $cookie = $_COOKIE['nazwa-cookie'];
  3. ?>


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
widmo17
post
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() ? winksmiley.jpg

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 ;>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:31