Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prosze o pomoc zablokowanie tresci
Forum PHP.pl > Forum > PHP
sejgo
Witam

mam mianowicie maly problem , 

czy jest taka mozliwosc gdy tworzac strone oraz na tej stronie stworzenie :

<iframe frameborder="no" scrolling="no" width="500" height="500" marginwidth="0" marginheight="0" src="http://www.tu_nazwa_strony.pl" name="I5"></iframe>

i tutaj moje pytanie czy jest jakis skrypt  ktory by blokowal po uruchomieniu strony index.php w ktorej jest ta w/w ramka strone www.tu_nazwa_strony.pl

czyli uruchamia sie strona index.php i wyszukuje nazwe strony ktora jest w zablokowanych wartosciach i jej nie wysiwetla.

cos podobnego jak jest w przegladarce opera wzgledem zablokowana zawartosc.

w operze po wstawieniu danych stron nie wyswietla sie ona ale tylko dla mnie na komputerze a po wejsciu z innego komputera na te samo strone zawartosc sie wyswietla.

Niewiem czy jest to mozliwe przez php, dodatkowo posiadam  vps na linuksie moze w nim mozna cos wstawic by nie wyswietlaly sie strony.



prosze o pomoc.
Weirdo
Przydałoby się, abyś najpierw potrenował umiejętność wyrażania własnych myśli. Nie łatwo zrozumieć o co Ci chodzi...

Jeżeli generujesz kod (wraz z atrybutem src) w PHP to możesz blokować zawartość... ale tylko pierwszej strony... jeśli ktoś w ramce przejdzie na inną stronę to z poziomu PHP już tego nie wyłapiesz...

... ale możesz za pomocą JavaScriptu np. sprawdzając wartość atrybutu src, lub być może wykorzystać ownerDocument. I tu ewentualnie wynik możesz wysyłać AJAXem do PHPa aby sprawdzić czy należy blokować czy nie.

Nie mniej - w złym forum ten temat.
sejgo
sorki ale ciezko to napisac

dokladniej opisze o co naprawde chodzi

mam strone i na stronie iframe

po odpaleniu strony wyswietla mi sie  strona w ramce iframe

natomist ta strona w iframe otwiera u siebie nastepna strone w iframe ale mocno zamulajaco serwis strony

i tu chodzi mi o to czy jest mozliwosc zablokowania ogolnie w skrypcie  konkretnej strony by dane z niej nie wyswietlaly sie, czy to poprzez php lub jak jest to mozliwe jak wzpominalem mam vps i mam dostep do calego dysku. Moze w linuxie na serwerze mozna cos wstawic by z danego hosta domeny nie wyswietlalo zawartosci.

mam nadzieje ze teraz wyjasnilem konkretnie.
erix
Nie da się bez modyfikacji kodu strony w ramce.
sejgo
to szkoda to tylko pozostało w operze inwidualne zablokowanie witryn
maroko
Tak jak pisze Weirdo ciężko zdekodować co dokładnie masz na myśli.

Tak więc na podstawie treści:
Cytat
w operze inwidualne zablokowanie witryn
przypuszczam, że chcesz zrobić coś w rodzaju przeglądarki na której pewne adresy będą blokowane. Wyprowadź mnie z błędu jeśli źle myślę.

PHP jest językiem serwerowym, więc można zrobić w nim wszystko pod warunkiem, że będzie to wykonywane po stronie serwera. Tak więc by:
  1. <iframe frameborder="no" scrolling="no" width="500" height="500" marginwidth="0" marginheight="0" src="http://www.tu_nazwa_strony.pl" name="I5"></iframe>
kod był widzialny dla PHP, trzeba by go Parsować.

Powiedzmy, że strona wygląda tak:
wpisz adres [ ] [submit] //powiedzmy, że to jest input
[ iframe ] //a to nasz ramka do której wysyła dane formularz
w src mamy (zwracane przez formularz) np. parser.php?src=http://www.tu_nazwa_strony.pl

Wewnątrz parser.php pobieramy adres strony i za pomocą np. eregi i wyrażeń regularnych sprawdzamy czy adres nie jest adresem zabronionym.
Jeżeli jest to wyświetlamy błąd jeśli nie jest zabroniony to:
  1. <?php
  2. if(eregi('wyrazenie-reg',$src)) print 'Error!';  //oczywiscie to tylko najprostszy przyklad
  3. else header("Location: http: // www .tu_nazwa_strony.pl");
  4.  
  5. //Oczywiscie w adresie w header nie ma zadnych spacji. Dodałem je bo forum rozwala mi cały kod.
  6. ?>

Zresztą zamiast wyrażeń regularnych można pójść na łatwiznę i wpisać:
  1. <?php
  2. $arr = array('strona1.com','strona2.eu','strona3.net'); //bez http i www
  3. $src = str_replace($arr,'',$src); //wywali poprostu kod zabroniony
  4. header("Location: http: // www .tu_nazwa_strony.pl"); //Jezeli wytniejsz fragment adresu url to strona nie zostanie wyswietlona tylko przegladarka zglosi blad
  5. ?>


Nie wiem czy takie coś jest dla ciebie pomocne.
sejgo
opisze jeszcze raz dokladniej i z obrazkami






o taki sposob mi chodzi, czy jest takie cos mozliwe
Darti
Można

Nie używaj iframe'ów bo to "głupie" stworzenie, użyj albo curl" title="Zobacz w manualu PHP" target="_manual' (rozwiązanie po stronie serwera) a albo ajaxa (rozwiązanie po stronie klienta).
Podczas pobierania zawartości strony www.nazwastrony.pl (czy to curlem czy ajax request'em) musisz ingerować w jej zawartość wycinając z kodu iframe'a związanego z wyświetlaniem www.xxx.pl (np preg_replace" title="Zobacz w manualu PHP" target="_manual'm)

Pozdrawiam
Weirdo
Rozwiązanie Dartiego będzie ok... ale tylko na domyślnie ładowaną stronę (czyli z poziomu PHPa).
Możesz skorzystać z ownerDocument tak jak Ci już napisałem... lecz też nie wydaje mi się to dobrym rozwiązaniem.

Zasadniczo iframe jest złym rozwiązaniem, więc może napisz co chcesz osiągnąć i pomyślimy nad właściwym rozwiązaniem.
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.