Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Newsy widoczne tylko dla wybranych...
Forum PHP.pl > Forum > Przedszkole
konus
Witam,
Chcialbym sie dowiedziec jak zrobic, aby newsy byly widoczne tylko dla niektorych uzytkownikow serwisu, mianowicie chodzi o to ze serwis bedzie widoczny dla ludzi z inetrnetu, i z wewnetrznej sieci lokalnej i wlasnie o nich mi chodzi. Chcialbym tez zrobic cos takiego ze jak ktos wchodzi z wewnatrz to ma mozliwosc zalogowania sie a jak z netu to widzi tylko strone dzialy i niusy. Dopiero zaczynam pisac ten projetk ale wole wiedziec jak zaczac, nie chodzi mi o kod tylko o pomysl na jakiej zasadzie to zrobic.
Dodam ze noob jestem tongue.gif
SongoQ
Mozna to roznie zrobic, najprosciej jest uprawnienia na bazie danych i wtedy kto sie zalogowal ma dostep do takich rzeczy.

Cytat
Chcialbym tez zrobic cos takiego ze jak ktos wchodzi z wewnatrz to ma mozliwosc zalogowania


Rozpoznajesz IP i na tej podstawie wyswietlasz logowanie lub nie.
konus
  1. <?php
  2.  
  3. if(ereg(&#092;"^192.168.0.\",$HTTP_SERVER_VARS['REMOTE_ADDR']))
  4. {
  5. include (&#092;"logowanie.php\");
  6. include (&#092;"menu_wewnetrzne.php\");
  7. }
  8.  
  9. ?>


Zrobilem cos takiego i to dziala pokazuje sie tylko dla danego zakresu ip, ale jest taki problem ze czasami uzytkownicy w sieciach lokalnych maja postawionego squida i on nie przekazuje zewnetrznego adresu ip tylko ten wewnetrzny, i jezeli ktos ma adres formatu 192.168.0.* to pokaza mu sie te 2 menu. Czy da sie jakos wykryc czy to adres ze squida czy nie?
hwao
Mozesz skozystac z
http://forum.php.pl/index.php?showtopic=27746
konus
Nie zupelnie o to mi chodzi, ale juz tlumacze. Serwis ten bedzie dostapny dla ludzi z wewnatrz duzej sieci lokalnej jak i z zewnatrz (czyli z internetu), to co napisalem bedzie dzialalo ale czasami dzieje sie tak ze, przypuscmy:
wchodzi jakis ludek ktory korzysta z neostrady i ona jest dzielona przez kilka osob postawiony jest u nich squid, no i teraz caly problem wchodzac, jako jego ip w REMOTE_ADDR nie pokaze mi sie adres neostrady tylko jego wewnetrzny adres IP zalezy jak jest skonfigurowany squid, a wtedy bedzie mial dostep do tych ukrytych opcji.
Chodzi mi o to czy da sie to jakos wykryc?
Tsiru
Ja bym proponował zrobić to troche inaczej, czyli tak tongue.gif
  1. <?php
  2. if($_GET['login'] == 'true')
  3.  setcookie('login','tak',time()+3600*24*366);
  4. if($_COOKIE['login'] == 'tak')
  5.  include (&#092;"logowanie.php\");
  6. ?>

Wystarczy teraz, że zaufane osoby wejdą na twoją strone dopisując do adresu ?login=true.
Ociu
Tsiru: Nie lepiej tak:
  1. <?php
  2. if(!isset($_COOKIE['login']))
  3. {
  4. die('Nie jestes zalogowany, wiec nie mozesz ogladac strony');
  5. }
  6. ?>

?
Tsiru
Według mnie nie, bo nieuprawnieni mają niewiedzieć nawet o tym, a pozatym trzeba ustawić ciacho. Ja miałem takie coś u siebie, i działało świetnie.
Diwi
Według mnie najlepszym rozwiązaniem jest poprostu logowanie exclamation.gif. po co się męczyć z IP wystarczy zrobić system użytkowników i po kłopocie.

Chyba że coś źle zrozumiałem :/

Pozdrawiam
SongoQ
@Tsiru
Cytat
miałem takie coś u siebie, i działało świetnie


Dla ilu to userow dzialalo 10? Nie wiem czy wiesz ale kazda luka zostawiona zyby sobie lub innym ulatwic moze byc wykorzystana przez osoby, ktore nie maja miec mozliwosci. Dla mnie takie postepowanie jest czyms nieodpowiedzialnym i nie przemyslanym, jak juz @Diwi napisal najlepszym rozwiazaniem jest logowanie.

@konus
Cytat
wchodzi jakis ludek ktory korzysta z neostrady i ona jest dzielona przez kilka osob postawiony jest u nich squid, no i teraz caly problem wchodzac, jako jego ip w REMOTE_ADDR nie pokaze mi sie adres neostrady tylko jego wewnetrzny adres IP


Jak to mozliwe ze na zewnatrz wychodzi adres wewnetrzny? nie znam sie na sieciach ale wydaje mi sie ze takie cos jest nieprawidlowe i raczej niemozliwe? Mozesz wyjasnic?
Ociu
Tsiru: Przemyślałeś to co napisałeś ? Ja zostawiłem ciacho, a ty dałeś parametr do urla i zostawiłeś ciacho...
A poza tym zawsze można die(...); zamienić na header("location:..");
konus
Cytat(Diwi @ 2005-04-17 14:11:22)
Według mnie najlepszym rozwiązaniem jest poprostu logowanie exclamation.gif. po co się męczyć z IP wystarczy zrobić system użytkowników i po kłopocie.

Chyba że coś źle zrozumiałem :/

Pozdrawiam

No wlasnie jest system logowania i rejestarcji uzytkownikow ale nie moze go widziec nikt z zewnatrz, jest to instytucja panstwowa i troche rygorystycznie podchodzi sie do bezpieczenstwa danych. System bedzie obslugiwal ok. 50 uzytkownikow.
Cytat(SongoQ @ 2005-04-17 14:20:52)
Jak to mozliwe ze na zewnatrz wychodzi adres wewnetrzny? nie znam sie na sieciach ale wydaje mi sie ze takie cos jest nieprawidlowe i raczej niemozliwe? Mozesz wyjasnic?

Jest to mozliwe wlasnie dzieki SQUID'owi. Jezeli zrobie system logowania i rejestracji zabezpieczony w ten sposob (REMOTE_ADDR) to ktos taki zobaczy okno logowania lub rejestracji, czego niechce.
Nie jest to duzym problemem ale wolalbym sie zabezpieczyc tongue.gif moge oczywiscie wylaczyc rejestracje jak wszyscy uzytkownicy zarejestruja sie, co nie jest idealnym rozwiazaniem.
Tsiru
Macie racje, strzeliłem gafe, może niedokońca zrozumiałem o co chodzi, ale niemiałem na myśli tego, że wszyscy z ciasteczkiem są odrazu zalogowani ! Poprostu wtedy dopiero miał się wyświetlać formularz logowania.
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.