Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blokowanie dostępu do strony, sprawdzenie poprawności kodu...
Forgoot
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 17.03.2004
Skąd: Suwałki

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


Witam!
Jako że jestem początkujący proszę Was, abyście powiedzieli czy ten skrypt jest poprawnie napisany, jeśli nie to proszę o ewentualną poprawkę i komentarz "co źle" zrobilem... Może da się ten skrypt rozbudować, dodać "coś", jeśli tak to proszę o podpowiedzi...

  1. <?php
  2. /**************************************************************************
  3.  *  Prosty skrypt zabraniający dostępu do strony określonemu adresowi IP  *
  4.  *  zapisanego w pliku ban.txt.                                           *
  5.  **************************************************************************/
  6.  
  7. $adres = strval($_SERVER['REMOTE_ADDR']); 
  8. $ip_zbanowane = @file("ban.txt"); 
  9.     if($_SERVER['REMOTE_ADDR'] == "$ip_zbanowane")
  10.   {
  11.           /*Kod strony*/ 
  12.     }else{
  13. echo("<b>ERROR!</b> Nie masz uprawnień do oglądania tej strony.<br /> Twój IP: $adres został zbanowany.");
  14.   }
  15.  
  16. ?>


Plik ban.txt wygląda (przykładowo) tak:
Kod
127.0.0.1
127.0.0.2
127.0.0.3
127.0.0.4


Pozdrawiam.

(IMG:http://forum.php.pl/uwaga.gif)
~mike_mech

Ten post edytował Forgoot 27.10.2005, 10:11:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sabistik
post
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


  1. <?php
  2.  
  3. function GetClientIP()
  4. {
  5. $ip = 0;
  6.  
  7. if( ! empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) )
  8. {
  9. $ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
  10. }
  11.  
  12. if( ! empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) )
  13. {
  14. $ipList = explode( ", ", $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] );
  15. if( $ip )
  16. {
  17. array_unshift( $ipList, $ip );
  18. $ip = 0;
  19. }
  20. foreach( $ipList as $v )
  21. {
  22. if( ! eregi( "^(192.168|172.16|10|224|240|127|0.", $v ) )
  23. {
  24. return $v;
  25. }
  26. }
  27. }
  28.  
  29. return $ip ? $ip : $_SERVER[ 'REMOTE_ADR' ];
  30. }
  31.  
  32. $banArr = file("ban.txt");
  33. if(in_array(GetClientIP(), $banArr) )
  34. echo "<b>ERROR!</b> Nie masz uprawnień do oglądania tej strony.<br /> Twój IP:".GetClientIP()." został zbanowany.";
  35.  
  36.  
  37. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 12:43