Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> blokada auto ip
maxserwer
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Piła

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


Siemka, czy ktoś zna taki skrypt który zapisuje po wejściu na stronę ip w notatniku w rządku, a po ponownym wejściu na tą samą stronę blokuje te ip co jest w notatniku. Potrzebuje taki skrypt do okienka wyskakującego na mojej stronie.
Z góry wielkie THX!!!


--------------------
Spotkało się kilku informatyków i jak to zwykle bywa, rozmowy szybko zeszły na tematy komputerowe. Wreszcie któryś z nich zaproponował: - Panowie, porozmawiajmy o czymś normalnym, np. o dupach. Nastąpiła bardzo długa cisza, a po niej jeszcze więcej krępującego milczenia. Wreszcie któryś odpowiada: - Słuchajcie, moja karta graficzna jest do dupy...

Moje strony: Ego, Forum, Wierszyki, Kawały, WebMaster, Katalog www
Go to the top of the page
+Quote Post
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Chyba nie potrzebnie chcesz sobie narobić pracy,
a przy tym każesz za każdym odświeżeniem strony
pisać lub czytać z pliku.

jak dla mnie to wystarczy sesja albo cookie,

przy czym sesja zazwyczaj będzie działała trochę którcej
(do zamknięcia przeglądarki)
niż sesja podłaczenia do interenu np w neostradzie,
(zazwyczaj do wyłaczenia komputera)

cookie natomiast tak długo jak sobie ustawisz,
bo ludzie raczej nie kasują cookie, gdyż
nie chcą kasować pozapamiętywanych haseł

Ten post edytował php programmer 1.08.2007, 13:07:38
Go to the top of the page
+Quote Post
maxserwer
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Piła

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


no tak, ale ten skrypt chcę jeszcze trochę przemienić, tak żeby nie wpisywał ip tylko użytkowników i taki sam użyje do czegoś jeszcze. On mi jest bardzo potrzebny, wiedź jak ktoś ma to niech napisze mi go.


--------------------
Spotkało się kilku informatyków i jak to zwykle bywa, rozmowy szybko zeszły na tematy komputerowe. Wreszcie któryś z nich zaproponował: - Panowie, porozmawiajmy o czymś normalnym, np. o dupach. Nastąpiła bardzo długa cisza, a po niej jeszcze więcej krępującego milczenia. Wreszcie któryś odpowiada: - Słuchajcie, moja karta graficzna jest do dupy...

Moje strony: Ego, Forum, Wierszyki, Kawały, WebMaster, Katalog www
Go to the top of the page
+Quote Post
pojas
post
Post #4





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Nie wiem czy dobrze zrozumiałem, ale takie rozwiązanie ma wiele wad.

  1. <?php
  2.  
  3. $ip = $_SERVER['REMOTE_ADDR']; // IP użytkownika
  4. $file_name = 'file.txt'; // nazwa pliku
  5.  
  6. if( $file = @fopen( $file_name, 'a+' ) ) // otwiera lub tworzy plik
  7. {
  8. // jeśli plik jest otwarty
  9. $file_string = fread( $file, filesize( $file_name ) ); // pobierz zawartość pliku
  10. $ip_adresses = explode( '|', $file_string ); // pobierz adresy IP do tablicy
  11. if( in_array( $ip, $ip_adresses ) )
  12. {
  13. // IP zostało już zapisane
  14. // blokuj dostęp
  15. } else
  16. {
  17. // nie ma takiego IP
  18. fwrite( $file, '|'.$ip ); // dopisz nowy adres IP
  19. }
  20. }
  21.  
  22. ?>
Go to the top of the page
+Quote Post
maxserwer
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Piła

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


siemka, wspaniały kod, tylko że on miał nie tylko zapisywać i nie dopisywać drugi raz tej samej osoby, tylko jeszcze ją blokować, czyli blokować dalsze wczytywanie strony (wyświetlając wiadomość smile.gif


--------------------
Spotkało się kilku informatyków i jak to zwykle bywa, rozmowy szybko zeszły na tematy komputerowe. Wreszcie któryś z nich zaproponował: - Panowie, porozmawiajmy o czymś normalnym, np. o dupach. Nastąpiła bardzo długa cisza, a po niej jeszcze więcej krępującego milczenia. Wreszcie któryś odpowiada: - Słuchajcie, moja karta graficzna jest do dupy...

Moje strony: Ego, Forum, Wierszyki, Kawały, WebMaster, Katalog www
Go to the top of the page
+Quote Post
John
post
Post #6





Grupa: Zarejestrowani
Postów: 107
Pomógł: 11
Dołączył: 1.08.2007
Skąd: Poland,Warsaw

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


  1. <?php
  2. if( in_array( $ip, $ip_adresses ) )
  3. {
  4. // IP zostało już zapisane
  5. // blokuj dostęp
  6. } else
  7. ?>


zostało, jeśli umieścisz kod w dobrym miejscu to zwyczajnie gościowi wyświetli się strona z wiadomością - tu autor skryptu pozostawił Ci pole do popisu.


--------------------
Odpowiedź na wszystko : manual,appendix. Ulubiona książka : PHP 5 for Dummies.
Studia uh ? ;-).
Go to the top of the page
+Quote Post
maxserwer
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Piła

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


no tak, ale testuje ten scrypt na takim polu, i nic...

  1. <? 
  2. require_once 'config.php';
  3. ?>
  4. <? include("zbior_liter.php")?>
  5. <html>
  6. <head>
  7. <title>Max Serwer- twoje wirtualne miejsce...</title>
  8. <meta name="Keywords" content="ego, Komputery, Forum, Czat, Serwery, Pliki, Bramka, SMS, e-mail, GGTlen, MP 3, Mapy, 
  9.  
  10. Dowcipy, Pogoda, Dodatki, Html, PHP, nauka, wiedza, społeczęstwo, max, serwer, s
    erwery, domen,y załoguj, blog, blok,i 
  11.  
  12. informacje, serwer, wirtualny, info">
  13. <meta name="Description" content="ego.yoyo.pl- największy w Polsce portal o bogatej tematyce, menu jest bardzo 
  14.  
  15. rozbudowane i posiada: komputery, sprzęt, gadżety, gry, forum, telewizja interne
    towa, cyfrowy świat, wirtualny świat, cyber, 
  16.  
  17. świat czatów...">
  18. <LINK href="style.css" type="text/css" rel="stylesheet">
  19. <? include("dane_strony.php")?>
  20. <? include("powitanie_w_wierszu_php.php")?>
  21. <? include("script_glowne.php")?>
  22. <link href="images/icona/ms.ico" rel="shortcut icon" />
  23. <link href="images/icona/ms.ico" rel="bookmark icon" />
  24. </head>
  25.  
  26. <?php
  27.  
  28. $ip = $_SERVER['REMOTE_ADDR']; // IP użytkownika
  29. $file_name = 'forum/data/glosy/maxserwer.php'; // nazwa pliku
  30.  
  31. if( $file = @fopen( $file_name, 'a+' ) ) // otwiera lub tworzy plik
  32. {
  33. // jeśli plik jest otwarty
  34. $file_string = fread( $file, filesize( $file_name ) ); // pobierz zawartość pliku
  35. $ip_adresses = explode( '|', $file_string ); // pobierz adresy IP do tablicy
  36. if( in_array( $ip, $ip_adresses ) )
  37. {
  38. // IP zostało już zapisane
  39. // blokuj dostęp
  40. } else
  41. {
  42. // nie ma takiego IP
  43. fwrite( $file, '|'.$ip ); // dopisz nowy adres IP
  44. }
  45. }
  46.  
  47. ?>
  48.  
  49.  
  50. vnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnv
    bnvbvnvbnvbvnvbnv
  51.  
  52. bvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvnvbnvbvn
    vbnvbvnvbnvbvnvbn
  53.  
  54. vb
  55. </html>


--------------------
Spotkało się kilku informatyków i jak to zwykle bywa, rozmowy szybko zeszły na tematy komputerowe. Wreszcie któryś z nich zaproponował: - Panowie, porozmawiajmy o czymś normalnym, np. o dupach. Nastąpiła bardzo długa cisza, a po niej jeszcze więcej krępującego milczenia. Wreszcie któryś odpowiada: - Słuchajcie, moja karta graficzna jest do dupy...

Moje strony: Ego, Forum, Wierszyki, Kawały, WebMaster, Katalog www
Go to the top of the page
+Quote Post
Cienki1980
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


A co ma się niby pojawiać, skoro w przypadku gdy adres IP jest zapisany już do pliku nic się nie dzieje. Chociaż jakieś echo przydałoby się w tym ifie gdzie sprawdzasz czy adres IP jest w tablicy.

A tak przy okazji nie łatwiej byłoby odczytywać zawartość pliku za pomocą file" title="Zobacz w manualu PHP" target="_manual. W wyniku od razu byś miał tablicę i nie musiałbyś tego obrabiać.

Do tego zapis linijka pod linijką wystarczy, jak otworzysz plik w odpowiednim trybie ( kursor ustawiony na końcu pliku ) i dopiszesz kolejny adres.


--------------------
404
Go to the top of the page
+Quote Post
maxserwer
post
Post #9





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Piła

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


sorki, ale nie zrozumiałeś mnie, chodzi mi o to że gdyby się zapisuje za pierwszym razem stronka, to ona się ma wyświetlać, a z drugim ma się pokazywać informacja np. ta strona została już wyświetlona i drugi raz już nie zostanie!!! <<< zrozumiałeś, ja robi własny system głosowania i takie gówienko mi się też przyda ( a do czego to już moja sprawa, bo proszę nie zapominać że jeżeli podstawie za ip np. nick usera, to uzyskam blokadę userów... bardzo to potrzebuje, bo bez tego można glosować do bólu u mnie...


--------------------
Spotkało się kilku informatyków i jak to zwykle bywa, rozmowy szybko zeszły na tematy komputerowe. Wreszcie któryś z nich zaproponował: - Panowie, porozmawiajmy o czymś normalnym, np. o dupach. Nastąpiła bardzo długa cisza, a po niej jeszcze więcej krępującego milczenia. Wreszcie któryś odpowiada: - Słuchajcie, moja karta graficzna jest do dupy...

Moje strony: Ego, Forum, Wierszyki, Kawały, WebMaster, Katalog www
Go to the top of the page
+Quote Post
Cienki1980
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Ależ bardzo dobrze Ciebie zrozumiałem ....
Ja po prostu komentuje ten skrypt który pokazałeś i który niby testujesz.

I powtarzam. W przypadku, gdy adres będzie już w bazie adresów blokowanych nic się nie pokaże, bo w ifie, który to sprawdza nie ma żadnych poleceń do wykonania, nie licząc dwóch linijek komentarza.

Schemat sprawdzania/dopisywania/pokazywania/niepokazywania powinien wyglądać jakoś tak:
  1. <?php
  2. //wchodzi user na strone:
  3.  
  4. //odczytujesz jego IP czy też nick
  5. $ip=$_SERVER['REMOTE_ADDR'];
  6.  
  7. //otwierasz plik i odczytujesz
  8.  
  9. if($ip znajduje sie w bazie adresow)
  10.  echo "You shall not pass: jakby to Gandalf powiedział";
  11. else
  12. {
  13.  echo "to jest magiczna strona która możesz zobaczyć tylko raz";
  14.  //dopisujemy adres do pliku
  15. }
  16. ?>


Teraz wystarczy tylko dostosować to co masz do takiego schematu i masz to czego potrzebujesz.


--------------------
404
Go to the top of the page
+Quote Post
maxserwer
post
Post #11





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Piła

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


dzięki, już gitarka gra smile.gif wielkie THX!!! guitar.gif guitar.gif guitar.gif


--------------------
Spotkało się kilku informatyków i jak to zwykle bywa, rozmowy szybko zeszły na tematy komputerowe. Wreszcie któryś z nich zaproponował: - Panowie, porozmawiajmy o czymś normalnym, np. o dupach. Nastąpiła bardzo długa cisza, a po niej jeszcze więcej krępującego milczenia. Wreszcie któryś odpowiada: - Słuchajcie, moja karta graficzna jest do dupy...

Moje strony: Ego, Forum, Wierszyki, Kawały, WebMaster, Katalog www
Go to the top of the page
+Quote Post
pojas
post
Post #12





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Cytat
nie łatwiej byłoby odczytywać zawartość pliku za pomocą file
Zasugerowałem się tym:
Cytat
zapisuje po wejściu na stronę ip w notatniku w rządku
Chyba masz rację, że lepiej zapisywać dane ( adresy IP ) nie w rządku, a linijka pod linijką. guitar.gif

Całe zamieszanie ze skryptem wyszło z tego, że napisałem tylko zarys, nie gotowy i ekstra elestyczny kod, który wystarczy gdzieś wkleić smile.gif

Jednak coś napisałem innego - wystarczy, że wstawisz to przed kodem "tajnej" strony.
  1. <?php
  2.  
  3. $ip = $_SERVER['REMOTE_ADDR']; // IP użytkownika
  4. $file_name = 'ip.txt'; // nazwa pliku np. TXT
  5.  
  6. function add_ip( $ip, $file_name )
  7. {
  8. $file = @fopen( $file_name, 'a+' ); // otwórz plik
  9. if( @fwrite( $file, $ip ) ) // dopisz nowy adres IP
  10. {
  11. return true;
  12. }
  13. @fclose( $file ); // zamknij plik
  14. return false;
  15. }
  16.  
  17. if( $ip_addresses = @file( $file_name ) ) // pobierz plik do tablicy
  18. {
  19. // plik istnieje
  20. if( $key = array_search( $ip, $ip_addresses ) !== false )
  21. {
  22. // IP zostało znalezione
  23. exit( 'Blokada ponownego dostępu dla IP: '.$ip );
  24.  
  25. } else
  26. {
  27. // IP nie zostało znalezione
  28. if( ! add_ip( $ip, $file_name ) )
  29. {
  30. // ktoś nabroi z $file_name, np. tylko-do-odczytu
  31. exit( 'Nie możesz oglądać tej strony, brak dostępu do pliku bezpieczeństwa: ' );
  32. }
  33. }
  34. } else
  35. {
  36. // plik nie istnieje
  37. if( ! add_ip( $ip, $file_name ) )
  38. {
  39. // ktoś nabroi z $file_name, np. tylko-do-odczytu
  40. exit( 'Nie możesz oglądać tej strony, brak dostępu do pliku bezpieczeństwa: ' );
  41. }
  42. }
  43. ?>
  44. <html>
  45. <body>
  46. <p>
  47. Strona jednorazowego użytku <b>: )</b>
  48. </p>
  49. </body>
  50. </html>

Pamiętaj, że wiele osób ma zmienne - dynammiczne IP, moża dodatkowo zapisać jakieś ciacho u użyszkodnika ( cookie ) informujące, że z tego komputera ( raczej przeglądarki ) dodonano głosowania.

Ten post edytował pojas 2.08.2007, 09:08:36
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 - 17:57