Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Header("location: "), jak obejść
escaflowne
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Pytanie: jak obejść "ograniczenie" php, które wymusza użycie header("Location: ") przed wysłaniem danych do przeglądarki?
W dokumentcji można przeczytać:
Cytat
Note:  As of php 4, you can use output buffering to get around this problem, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling manual/en/function.ob-start.php" target="_blank and manual/en/function.ob-end-flush.php" target="_blank  in your script, or setting the output_buffering  configuration directive on in your php.ini or server configuration files.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Yarecki
post
Post #2





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 1.04.2004
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Sam sobie odpowiedziałeś. Inny sposób poza podanym przez Ciebie, a zaczerpniętym z dokumentacji, jest użycie szablonów (Smarty).
Go to the top of the page
+Quote Post
escaflowne
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Kumam po angielsku, ale niektórych słów z powyższego cytatu nie rozumiem. Więc zapytam tak: na ile ustawić wartość output_buffering?
Obecnie mam wartość domyślną: 4096 (i nie działa)
Czy zmiana tego parametru może stanowić potencjalną lukę w bezpieczeństwie (myślę, że raczej nie, ale wolę się upewnić)?
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Przede wszystkim to nie jest ograniczenie php, tylko protokolu HTTP.
Po drugie to, ze masz problem z "headers already sent" z reguly swiadczy o zlym zaplanowaniu kodu, wszystko da sie zrobic bez problemu, trzeba tylko chciec i troszke pomyslec.
Po trzecie jak juz naprawde chcesz skorzystac z output buffering to raczej rob to w skrypcie korzystajac z funkcji ob_*, ze wzgledu na to, ze innym serwerze niz Twoj skrypty moga nie dzialac, jak nie bedziesz mial dostepu do konfiguracji, zeby wlaczyc buforowanie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 19:49