-
Data: 2009-09-04 20:19:42
Temat: Re: Problem wyświetlania grafiki generowanej dynamicznie
Od: "Marek" <m...@s...interia.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>> header("Accept-Ranges: bytes");
> Obsługujesz Ranges? (PHP nie zrobi tego za ciebie)
W zasadzie jeszcze nie - eksperymentuję póki co.
> Attachment oznacza, że nie należy tego wyświetlać na stronie, tylko
> zapisać na dysk.
Tak, ale tylko przy wiadomościach email. Przy obrazkach WWW teoretycznie
nagłówek nie powinien w ogóle być stosowanym. Do dyspozycji mam tylko inline
jeszcze, co niczego nie zmienia w zachowaniu browsera. Nagłówek nieformalnie
służy do wymuszenia nazwy pliku gdy jego URL nie wskazuje na plik o
docelowej nazwie. Przeglądarki to obsługują w taki sposób, że zapisze Ci się
plik pod właściwą nazwą ...ale ... w konsekwencji bezpośrednie wejście na
dany URL (zamiast ze znacznika <img>) spowoduje, że przeglądarka będzie
chciała zapisać ten plik zamiast go otworzyć. No i to właśnie jest źródłem
moich problemów.
Chyba wpadłem na rozwiązanie. Na serwerze zastosuję mod_rewrite tak aby
zamiast obrazek.php?id=1234 pisać obrazki_1234/nazwa.jpg. Czyli tak jakby
każdy z obrazków był w innym katalogu. Wtedy nazwa jest zachowana oraz ID
przemycony oraz mogę pominąć Content-Disposition. No i będzie można bez
problemu otwierać URLe w przeglądarce.
> Poza tym nie escape'ujesz file_name. Jeśli to zawiera dane z zewnątrz, to
> uważaj, żeby ci ktoś response splitting attack nie zaserwował.
Hmmm... masz rację. Wszystkie nazwy pochodzą z CMS i są korygowane do ASCII
w chwili ładowania grafiki w sekcji redakcyjnej. Czy powinienem zastosować
urlencode() do nazwy?
Sprawę cacheowania też rozwiązałem. Nagłówek Etag do tego służy. Jednakże
pod FF dzieją się cuda. Jeśli obrazki są wczytywane przez Flasha a nie
bezpośrednio przez FF, to tylko niewielka ich część podda się cacheowaniu.
Przy kolejnych odświeżeniach coraz więcej zaczyna być zcache'owanych.
Jednakże nigdy nie bądą wszystkie i co ciekawe - nie poddadzą się temu
zawsze te same obrazki. FF nie wysyła dla nich nigdy do serwera nagłówka
If-None-Match.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Do sądu trafił pozew zbiorowy przeciw Google'owi - oskarżenie o praktyki monopolistyczne na rynku reklamy internetowej
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
Najnowsze wątki
- 2025-05-06 Agregat z lodówki olej
- 2025-05-06 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-06 Warszawa => Senior Node.js Developer (doświadczenie z framework Nest.
- 2025-05-06 Dęblin => Node.js / Fullstack Developer <=
- 2025-05-06 Warszawa => IT Business Analyst (projects in the telco sector) <=
- 2025-05-06 Title: The Economics and Systemic Implications of Bitcoin: Cost, Scarcity, and the Institutional Race for Dominance .
- 2025-05-06 SMSy
- 2025-05-06 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-05-06 Warszawa => Strategic Account Manager <=
- 2025-05-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-06 Gdynia => ML Ops Engineer <=
- 2025-05-06 Drobne umowy o dzielo z przeniesieniem praw autorskich
- 2025-05-06 wydobywanie Bitcoinów jest aktualnie zajęciem po prostu nieopłacalnym. Jak wynika z opublikowanych danych, średni koszt wygenerowania jednego Bitcoina wynosi ok. 137 tysięcy dolarów.
- 2025-05-06 Join Bitcoin Blockchain Nonce Global University
- 2025-05-06 Gdynia => ML Ops Engineer <=