Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ukrycie kodu dla innych IP
Forum PHP.pl > Forum > PHP
arbak
Czy jest jakis sposób aby ukryć część wprowadzonego kodu php, html i wyświetlenie tego tylko dla jednego IP biura , aby po wprowadzeniu zmian mieć pewność że wszystko działa dobrze przed publikacją dla użytkowników.

Dzięki
rocktech.pl
Witam.

Jest np. .htaccess.

[APACHE] pobierz, plaintext
  1. Order deny,allow
  2. Deny from all
  3. Allow from 192.168.0.2
[APACHE] pobierz, plaintext


Dogłębna lektura i tutorial o kontroli dostępu poprzez apache.
xxdrago
Można też użyć PHP:
  1. if ($_SERVER['REMOTE_ADDR'] == '123.1123')
  2. {
  3. echo 'masz prawa';
  4. }
  5. else
  6. {
  7. echo 'brak praw';
  8. }


pisane z palcaa
arbak
chodzi mi bardziej o ukrycie fragmentu kodu nie całego skryptu, np. w istniejącym kodzie działającej strony tworzę nową funkcję, chcę ją widzieć ale tylko na poziomie biura aby użytkownicy strony nie widzieli tych zmian do czasu pełnych testów poprawności danej funkcji.
coś w tym stylu, ale mi to nie działa:
  1. <? $ip = getenv("REMOTE_ADDR") ; getenv("REMOTE_ADDR");
  2.  
  3.  
  4.  
  5. if ($ip ! = 23.12.34.45.)
  6. {
  7. header("authorized.php")
  8. }
  9. else
  10. {
  11. header("notauthorized.php");
  12. }
  13. ?>

ethann
Adres IP zawarty w elemencie REMOTE_ADDR, jest najzwyczajniej stringiem.
  1. <?php $ip = $_SERVER["REMOTE_ADDR"];
  2.  
  3.  
  4. if ($ip == "127.0.0.1")
  5. {
  6. echo 'Witaj w domu.';
  7. }
  8. else
  9. {
  10. echo 'Nie posiadasz dostępu do tej części strony.';
  11. }
  12. ?>


Użycie header() w tym przypadku jest dziwnym rozwiązaniem, odpytanie bezpośrednio pliku authorized.php, który nie będzie zawierał tego warunku po raz drugi, wyświetli najzwyczajniej jego zawartość każdemu.
Warunek != jest w podanym przez Ciebie skrypcie niepoprawny, skoro treść ma być widoczna dla JEDNEGO użytkownika to skorzystaj z podwójnego znaku równości.
Sinevar
Sugerowałbym do pobierania IP metodę w stylu tej poniżej - zaleta jej taka, że jak klient łączy się z naszym serwerem przez serwer proxy tudzież natrafia na nasz load balancer, to i tak jesteśmy w stanie wyłuskać właściwy adres IP maszyny owego klienta. (w większości przypadków)

  1. function getIp()
  2. {
  3. return getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') : getenv('REMOTE_ADDR');
  4. }

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.