Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]tylko określone ip maja wejscie na stronę
Forum PHP.pl > Forum > Przedszkole
ptasio
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 O czym zapomniałem? co poprawic? pomocy
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..
nospor
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 smile.gif
bluesqad
Pogrubienie - moze to takie życiowe zboczenie tongue.gif

Ale do rzeczy. Ustaw w pliku .htaccess host deny i host allow i bedzie dzialac smile.gif
Spawnm
po co zabawa z pętlą?
daj ip win_array" title="Zobacz w manualu PHP" target="_manual jest w tablicy ? masz dostęp smile.gif
grzana12
Po co takie coś robisz, przecież łatwiej zrobić wpisy w .htaccess i zrobić stronę błędu 401 :!:
kkuba
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? ; )
ptasio
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>
Maxik
$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. ?>
kkuba
  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.
ptasio
nie wiem co wcześniej skopałem 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
nospor
wtedy nie miales trim()

zacznij prosze uzywac poprawnego bbcode, dla kodu php ma to byc [php]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.