Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dostęp tylko dla określonych IP
Forum PHP.pl > Forum > Gotowe rozwiązania
jacek811
Witam,

Poszukuje skryptu php, który pozwalałby na dostęp do danej strony tylko konkretnym adresom IP, których spis znajduje sie w pliku txt.
itsme
jest u gory szukaj
i tam Cie kieruje gdyz te informacje sa juz na forum
jacek811
juz szukałem i nie znalazłem, dlatego zdecydowałem się napisać. więc co mam wpisać ?
itsme
http://forum.php.pl/viewtopic.php?t=1556
a ja znalazlem
jacek811
dzięki, ale tam jest na odwrót. tzn że sie nie otworzy dla konkretnych IP, ale spróbuje coś z tym pokombinować. jak mi nie wyjdzie to napisze za kilka min.
mleczasz
przerobmy tamten skrypt...

<?php
$ip = "192.25.213.21";
if( $REMOTE_ADDR != $ip )
{
print ("Dostęp do strony zablokowany");

}
else
{
print ("Przepraszam, wystąpił błąd !<BR>");
?>
TU WSTAWIMY STRONA DLA IP KTORE MOZE WEJSC
<?php
}
?>
jacek811
Jakoś mi nie wychodzi, narazie wymyśliłem coś takiego:

<?php
if($REMOTE_ADDR !="ip.txt"){
print "access denied";
exit;
}
?>
TUTAJ STRONA

w pliku ip.txt wymieniłem adresy IP np:
192.168.1.1;
192.168.1.2;
itd...

ale mi to nie działa
bardzo bym prosił o zamieszczenie gotowego skryptu lub o porade dotyczącą tego powyższego
jacek811
ok, dzieki mleczasz, twój skrypt działą a moja notka została napisana w trakcie z twoją i dlatego ją wysłałem. ps, jeszcze jedno pytanko, jak zrobić żeby dozwolone adresy IP były przechowywane w pliku oddzielnym txt questionmark.gif
jacek811
wogóle w jaki sposób umieścić w tej bazie więcej niż jeden adres IP questionmark.gif
DeyV
O kurcze if($REMOTE_ADDR !="ip.txt"){ = to mi się spodobało angrysmiley.gif

Ale tak dobrze to nie ma.
I choć rozwiązanie trudne nie jest, to jednak wymaga choś podstawowej znajomości składni php.
Ale nic to.
Tworzymy plik, gdzie każda linie to kolejny numer IP
ładujemy go do tablicy - $tab = file('adres pliku');
sprawdzamy, czy wpis jest w tablicy - np. in_array
I dalej tak jak w przykładzie.
jacek811
wiem że to zabrzmi tragicznie i cholernie lamersko, ale musze: w jaki sposób mam plik txt z adreami IP "załadować go do tablicy - $tab = file('adres pliku');
i sprawdzamy, czy wpis jest w tablicy - np. in_array " questionmark.gif (patrz poprzedni post) najlepiej prosiłbym o gotowy skrypt, dzieki za wyrozumiałość...
wszyscy byli kiedyś początkujący...
DeyV
Teraz to ja nie rozumiem. Al spokojnie, spokojnie. Powiedz, czy sprawdziłeś w manualau składnię podanych przezemnie funkcji? Czy zobaczyłeś, do czego jest funkcja file? A może trudno sie domyśleć, do czego służy funkcja in_array?
Ludzie - tak nie można. Stąd apel - nie dawajcie gotowców.
Co nie znaczy, że nie chcę Ci pomóc - wprost przciwnie. Ale tak, byś, gdy za tydzień zaczniesz pisać inną funkcję, nie musał zadawać tych samych pytań.
DeyV
Teraz to ja nie rozumiem. Al spokojnie, spokojnie. Powiedz, czy sprawdziłeś w manualu składnię podanych funkcji? Czy zobaczyłeś do czego jest funkcja file? A może trudno sie domyśleć, do czego służy funkcja in_array?
Ludzie - tak nie można. Stąd apel - nie dawajcie gotowców.
Co nie znaczy, że nie chcę Ci pomóc - wprost przciwnie. Ale tak, byś, gdy za tydzień zaczniesz pisać inną funkcję, nie musiał zadawać tych samych pytań.
jacek811
ja jestem tu nowy, co do tego że nie chcesz mi podać gotowego rozwiązania to w 100% popieram ale co to jest do ******* ten manual, znaczy domyślam sie że to jakiś opi poleceń i że gdzieś tu jest link do niego tylko szuka i szukam i nie widze sad.gif
DeyV
a to mnie zaskoczyłeś. Jeśli jednak udało ci się dojść do tego co teraz robisz bez manuala to 'respect' - i tak jesteś niezły.
Wszystko na temat php - www.php.net
download manuala - czylli wszytko o php, i to pięknie, po polsku- polecam wersję *.chm - http://www.php.net/download-docs.php
jacek811
ok, juz zrobiłem PS dzieki wszystkim za pomoc
do admina: może by skasować ten cały temat bo w sumie to nie zawiele z niego wynika... a temat faktycznie się mniej więcej powtarza....
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-2024 Invision Power Services, Inc.