eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwProblem wyświetlania grafiki generowanej dynamicznieRe: Problem wyświetlania grafiki generowanej dynamicznie
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: