Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno php - file_get_contents()

Zdravím všechny, prosím mohl by mi někdo poradit? Nevím si rady s tímto:
Pomocí funkce file_get_contents() chci načíst obsah stránky, kterou poté proženu vlastním parserem. Problém je v tom, že obsah stránky je zabezpečený pomocí session, něco jako

if(!$_SESSION["logged"])
 odejdi();

Zkoušel jsem do stránky s funkcí file_get_contents() nastavit session na true, ale to nepomáhá. Nevíte někdo, jak toto obejít? Moc děkuji za každý nápad.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tá stránka je tvoja a na tom istom serveri? Ak áno, tak prečo sa k jej obsahu chceš dostať tak zloži…
los 07.02.2012 23:35
los
Ano, je to moje stránka na tom stejném serveru. Jedná se jen o kontrolu, zda je nastaveno session na…
Cobol 07.02.2012 23:49
Cobol
Tak použi include/include_once alebo require/require_once alebo autoload. Skrátka štandardné riešeni…
los 07.02.2012 23:53
los
No, jenže já potřebuju tu stránku mít jako string, který pak upravím a generuju zas jiný dokument :-…
Cobol 08.02.2012 00:01
Cobol
stream_context_create() už rozumím, jen nerozumím té souvislosti s tou session, která se kontroluje… nový
Cobol 08.02.2012 02:20
Cobol
Tak jsem to nakonec vyřešil šalamounsky, a to tak, že do stránky kterou jsem chtěl načítat jsem přid… poslední
Cobol 08.02.2012 14:57
Cobol

Tá stránka je tvoja a na tom istom serveri? Ak áno, tak prečo sa k jej obsahu chceš dostať tak zložito?

Tretí argument funkcie file_get_contents je context, pomocou ktorého môžeš definovať aj cookies (t.j. zabezpečiť, aby sa server dostal k správnej session):

$opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE'] . "\r\n"));
$context = stream_context_create($opts);
$file = file_get_contents('www.example.com/', false, $context);

No, jenže já potřebuju tu stránku mít jako string, který pak upravím a generuju zas jiný dokument :-) No v podstatě z obsahů stránek vytvářím jeden (word) dokument.
Pořádně nerozumím tomu stream_context_create(). Co tedy se vlastně vytváří? Když bych to aplikoval na můj případ, že tedy tam mám jeden session, jak by to vypadalo? Omlouvám se, stream_context_create slyším poprvé :-(

Tak jsem to nakonec vyřešil šalamounsky, a to tak, že do stránky kterou jsem chtěl načítat jsem přidal ještě jednu podmínku

if($_SESSION["logged"]!=true && $exportToFile!='ecfer34c48d5685a7efa03d137dc8bbde7e3')

takže do url pro file_get_contents() jsem přidal ještě www.example.com'ecfer34c48d5685a7efa03d137dc8bbde7e3'. Zdá se mi to bezpečné, za předpokladu, že nikdo nezná ten hash, který se předává přes file_get_contents(). V podstatě o něm nikdo nevído neví :-) Všem díky za nápady.

Zpět do poradny Odpovědět na původní otázku Nahoru