Wejście określonych IP

Witam

Zobaczyłem, że na forum było poruszane jak zablokować danego usera po numerze ip, a ja chcę odwrócić tą akcję tzn. na stronę mogą tylko wejsć userzy po określonym z góry nr. ip i nikt więcej, i pytanie czy jest taki skrypt w php bądż w js.

Dziękuję za odpowiedzi.

dla wielu ip:

<?php


//dozwolone adresy

$adr[] = "158\.12\.100\.98";

$adr[] = "127\.0\.0\.1";

$adr[] = "132\.7.*";


foreach($adr as $ip) {

if (ereg($ip, $_SERVER["REMOTE_ADDR"])) {

include("zawartosc.php");

break;

}

}

?>

dla jednego ip:

<?php 

if (!ereg("213.32.22.6",$_SERVER["REMOTE_ADDR"])) {exit;}

?>

js nie stosuj bo to bardzo łatwo obejść.

Sprawdź to:

<?php


$ip_dozwolone = file('dozwolone.txt');

$ile = count($ip_dozwolone);


for($i=0; $i<$ile; ++$i) {

if ($_SERVER['REMOTE_ADDR'] != $ip_dozwolone[$i]) { echo '
Nie masz wstepu'; exit(); }

}


?>

W pliku dozwolone wpisujesz ip które mogą wejść na stronę, każdy ip w nowej linijce

Dziękuję za szybkie odpowiedzi, przetestuję oba skrypty, choć od usera _Puma_ wydaje się lepszy pod względem dodawania tylko do pliku określonych ip.

A jak zrobić aby usera przekierować na inny adres?

_Puma_ ty jesteś poprostu niezawodny w tych “klockach”.Dziękuję Bardzo.

żeby przekierować możesz dać:

echo '';

ewentualnie kombinować z headerem

header( 'Location: tutaj_adres_innej_strony' );

Przetestowałem oba skrypty w drugim plikowi dozwolone nadałem chomond 777 i niestey nie odpala to tak jak powinno, normalnie na stronę w necie mogę wejść, natomiast na lokalnym serwerze owszem pisze, że nie mogę wejść ale gdy dołączę swój ip to dalej nie mogę wejść, jak temu zaradzić, no może jeszcze inny skrypt drodzy userzy posiadacie.

Za zainteresowanie dziękuję.

a glupie pytanie, jakie dodajesz lokalne ip? 127.0.0.1 ?

jak mnie pamiec nie myli mozesz to tez zrobic przez htaccess

Skrypt który podał _Puma_ nie działa prawidłowo w takiej formie.

Powód jest prosty - ogranicza się do pierwszej iteracji. Jeżeli boiem pierwszy ip z listy się nie zgadza - pętla jest kończona i nie sprawdza kolejnych.

Można go poprawić np. w ten sposób:

<?php


$ip_dozwolone = file('dozwolone.txt');

$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 '
Nie masz wstepu'; die; }

?>


tutaj przykłądowa treść strony, która będzie widoczna tylko dla wybranych ip.

adpawl jednak i to nie działa tak jak powinno, a mianowicie po dodaniu ip nie można wejsc na daną podstronę, może jakieś inne prpopzycje.

ponowię pytanie jakie zadał atuski

-jakie ip dodałeś?