Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]tylko określone ip maja wejscie na stronę, problem z odczytem i porównaniem
ptasio
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.03.2009

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


Witam serdecznie. Siedzę cały dzionek, szukam po inecie, próbuje rożnych rozwiązań i nic. Więc proszę o pomoc. Co w moim kodzie jest nie tak?
Niby działa, ale tylko gdy jest jeden ip w pliku,albo gdy wpiszę więcej sprawdza niby wszystko, ale ostatni ip decyduje czy wpuści na stronę czy nie, a pasuje aby wpuszczał też gdy znajdzie wcześniej taki sam ip:(
np. w pliku.txt mam dwa adresy ip (127.0.0.1 to mój) w podanym niżej przypadku nie wpuści mnie na stronkę, natomiast gdy mój ip znajdzie się na końcu to wpuszcza (IMG:http://i.frazpc.pl/graf/icons_board/icon9.gif) O czym zapomniałem? co poprawic? pomocy (IMG:http://i.frazpc.pl/graf/icons_board/icon7.gif)
127.0.0.1
127.0.0.10
itd.

Kod
$ip_dozwolone = file('./ip/dozwolone.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$ile = count($ip_dozwolone);
$status=false;
  
for($i=0; $i<$ile; $i++) {
if ($_SERVER['REMOTE_ADDR'] == $ip_dozwolone[$i]) $status=true;
}
if($status==false) { echo '<p>Nie masz wstepu</p>'; die; }


potem reszta stronki..

Ten post edytował ptasio 30.03.2009, 11:17:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




kurcze, mistrzu.... czy te pogrubienie na caly post to jakis tik nerwowy? popraw to a kod php daj w bbcode [php]

ps: witamy na forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
bluesqad
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 6
Dołączył: 25.06.2007
Skąd: Olkusz

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


Pogrubienie - moze to takie życiowe zboczenie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ale do rzeczy. Ustaw w pliku .htaccess host deny i host allow i bedzie dzialac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




po co zabawa z pętlą?
daj ip win_array" title="Zobacz w manualu PHP" target="_manual jest w tablicy ? masz dostęp (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
grzana12
post
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 1
Dołączył: 4.02.2007
Skąd: Kartuzy

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


Po co takie coś robisz, przecież łatwiej zrobić wpisy w .htaccess i zrobić stronę błędu 401 :!:
Go to the top of the page
+Quote Post
kkuba
post
Post #6





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 6.07.2008
Skąd: Nowy Sącz

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


Cytat(grzana12 @ 30.03.2009, 10:47:08 ) *
Po co takie coś robisz, przecież łatwiej zrobić wpisy w .htaccess i zrobić stronę błędu 401 :!:


Nie wszystkie serwery mają możliwość ustawienia własnego htaccess? ; )
Go to the top of the page
+Quote Post
ptasio
post
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.03.2009

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


zrobiłem to przez array i działa ale tylko jak to zrobic by z pliku działało
w pliku.txt
10.1.1.1
127.0.0.1
149.33.4.2

<?php
$array = array(
'10.1.1.1',
'127.0.0.10',
'149.33.4.2',
);

//$ip_dozwolone = file('./ip/dozwolone.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$ile = count($array);
$status=false;

for($i=0; $i<$ile; $i++) {
if ($_SERVER['REMOTE_ADDR'] == $array[$i]) $status=true;
}
if($status==false) { echo '<p>Nie masz wstepu</p>'; exit(); }

?>
<p>działa</p>
Go to the top of the page
+Quote Post
Maxik
post
Post #8





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


$ip_dozwolone to tablica, więc:
  1. <?php
  2. if(in_array($_SERVER['REMOTE_ADDR'], $ip_dozwolone){
  3. echo 'wchodź';
  4. } else{
  5. echo 'nie możesz wejść';
  6. }
  7. ?>
Go to the top of the page
+Quote Post
kkuba
post
Post #9





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 6.07.2008
Skąd: Nowy Sącz

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


  1. <?php
  2. $cont = file_get_contents('plik.txt.');
  3. $cont = explode("\n", $cont);
  4.  
  5. if(!in_array($_SERVER['REMOTE_ADDR'], $cont)) die();
  6. ?>


Pozdrawiam.
Go to the top of the page
+Quote Post
ptasio
post
Post #10





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.03.2009

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


nie wiem co wcześniej skopałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a to działa poprawnie
Kod
$ip_dozwolone = file('lista.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);  
       $status=false;  
       for($i=0; $i<count($ip_dozwolone); $i++) {  
           if (trim($_SERVER['REMOTE_ADDR']) == trim($ip_dozwolone[$i])) {
               $status=true;
               }  
           }  
       if($status==false) { echo '<p>Nie masz wstepu</p>'; die; }


dzięki za pomoc

Ten post edytował ptasio 30.03.2009, 11:48:49
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wtedy nie miales trim()

zacznij prosze uzywac poprawnego bbcode, dla kodu php ma to byc [php]
Go to the top of the page
+Quote Post

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: 23.08.2025 - 19:00