Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odczyt zawartości iframe lub niektórych elementów
Forum PHP.pl > Forum > PHP
kubek15
Witam

Czy da się odczytać zawartośc iframe?
Chodzi mi na przykład o to ze chce zobaczyć kod strony www.strona.pl po zalogowaniu się na moje konto.
I na swoim skrypcie mam kod:
  1. <iframe src='http://strona.pl/moje_konto'></iframe>


i wszystko ładnie ładuje się do ramki, ładuje się zalogowany user itp.
I jak moge z tej ramki wyciągnąć kod strony?

Nie moge używać file_get_contents bo nie przesyłam cookies , oraz danych do logowania, a jak wpisze ten adres to wyświetli mi że jestem neizalogowany. Nie moge też logować się za pomocą curl'a bo chce aby działało to bez logowania na mojej stronie.

Czy jest jakiś sposób żeby tą stronę otworzyć i pokazać jej kod? lub jakiś fragment kodu? Da sie tutaj zastosować moze ajax, jquery? Może jakiś cross ajax ?
czy wogóle da się wyciągnąć ten kod czy nie ma szans?

vermis
Nie da się odczytać zawartości ramki. To że jesteś zalogowany czy nie to kontroluje przeglądarka, a nie strona nadrzędna dla ramki. To by było bardzo niebezpieczne, gdyby się dało kontrolować zawartość ramki za pomocą JS.
Weźmy taką sytuację, że coś kupujesz w sklepie internetowym i chcesz zrobić przelew. Otwierasz stronę banku w nowej zakładce i się logujesz, a skrypt sklepu otwiera stronę tego samego banku w ramce i ma dostęp do twojego konta. Raczej nie chciałbyś żeby miał taką możliwość, zgadza się?
cudny
Jedynym sposobem jest użycie dostępnego API o ile takowe istnieje lub zalogowanie się (trzeba znać hasło i login) za pomocą cURL i od strony serwera sprawę załatwić
zegarek84
@vermis po części ale też nie do końca da się luknąć na iframe z poziomu JS ;p - ale to musi być ta sama domena lub też jeszcze jeden trick stosowany w edytorach... oprócz tego może być udostępnione API odpowiednie, JS generuje odpowiedni adres i ktoś może być zalogowany...

@kubek15 a więc tak jak napisał @cudny, a jeśli nie wiesz jak to jest zaimplementowane a "hula" (być może po drodze coś się wykonuje np. w tle za pośrednictwem JS jakaś dodatkowa komunikacja) to zainteresuj się framworkiem Qt napisanym w C++ a dokładniej fragmentem dotyczącym przeglądarki webkit - bardzo wygodne ;]
vermis
Cytat(zegarek84 @ 4.09.2012, 19:17:12 ) *
@vermis po części ale też nie do końca da się luknąć na iframe z poziomu JS ;p - ale to musi być ta sama domena lub też jeszcze jeden trick stosowany w edytorach... oprócz tego może być udostępnione API odpowiednie, JS generuje odpowiedni adres i ktoś może być zalogowany...

Jeśli ta sama domena to nie widzę sensu stosowania ramek (przynajmniej w opisanym przypadku). Autor tematu nie pisał nic o udostępnionym API, więc pominąłem tą kwestię.
kubek15
dzięki Wam za wszystkie odpowiedzi , musiałem to na CURL'u zrobić, najwyżej kieyś przerobie jak zajdzie potrzeba.


Jeszcze raz dzięki
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.