Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SSL, PDFLib, a sprawa POSTa.
dragossani
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

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


Mam następujący problem:

Używam biblioteki PDFLib do dynamicznego generowania PDFów przez php. Napisałem 2 skrypty. Pierwszy zawiera formularz który po odpaleniu SUBMITa ma przesłać dane do drugiego skryptu. Drugi skrypt ma na podstawie przysłanych zmiennych wygenerować PDFa. Obydwa skrypty chcę odpalić przez HTTPS. Sprawa rypie się w momencie wysyłania danych. Przeglądarka (IE6PL) wyrzuca komunikat: "Otwierana strona zawiera zarówno elementy bezpieczne jak i takie, które nie są bezpieczne. Czy chcesz wyświetlić elementy, które nie są bezpieczne?". Obojętnie czy wybierze się TAK czy NIE, PDF generuje się prawidłowo. Można potem zajrzeć do Plik->Właściwości i jeśli wybraliśmy przy pytaniu TAK to mamy tam: "Transmisja - nie zaszyfrowano". Nie bardzo mi się to podoba. sad.gif

Co ciekawe jeżeli do wysłania formularza używam metody GET problem znika. Niestety zależy mi żeby był to POST. Jak zlikwidować ten komunikat? Problem nie jest chyba banalny, bo spotkałem się z tym komunikatem np. podczas sprawdzania stanu konta przez internet w banku WBK. Nie za każdym razem co prawda ale jednak. Skoro tam jest z tym problem... :? (stać ich chyba żeby poszukać rozwiązania)

Zastanawiam się czy nie ma to jakiegoś związku z budowaniem nagłówka przez drugi ze skryptów?

Kod
$buf = PDF_get_buffer($p);

$len = strlen($buf);

header("Content-type: application/pdf");

header("Content-Length: $len");

header("Content-Disposition: inline; filename=dokument.pdf");

print $buf;

PDF_delete($p);


Dla jasności poniżej wklejam kod formularza:

Kod
<BODY>

<FORM NAME="Form1" ACTION="generuj_pdfa.php" METHOD="POST">

<INPUT TYPE="HIDDEN" NAME="zmienna" VALUE="wartosc">

<A HREF="javascript:document.Form1.submit()">Link</A>

</FORM></BODY>


Będę wdzięczny za każdą sugestię.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dragossani
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

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


Co do wielkości PDF-a - ustaw sobie w skrypcie:
Kod
pdf_set_value($pdf,"compress", 9);
i porównaj rozmiar pliku wynikowego.

A ten SSL ciekawie się u Ciebie zachowuje. Nagłówek jest przecież inline, nie powinien traktować go jako attachment. Zmiana na https nie powinna na to wpływać. Nie wywala nic o nieszyfrowanych danych? Jeśli moższ, sprawdź jeszcze jak się zachowuje po użyciu obrazka w treści PDF-a oraz własnego fontu. Czyli:
Kod
PDF_set_parameter($pdf,"resourcefile","/ścieżka/do/pdf_lib/fonts/pdflib.upr");

$times=PDF_findfont($pdf,"Times New Roman","iso8859-2",1);

PDF_setfont($pdf,$times,8);

oraz
Kod
if (($image=PDF_open_image_file($pdf, "jpeg", "obrazek.jpg", "", 0)) == -1 )

{

    PDF_set_text_pos($pdf,1,1);

    PDF_show($pdf,"Błąd ładowania obrazka!");

} else {

    PDF_place_image($pdf, $image, (float) 5, (float) 5, (float) 1);

    PDF_close_image($pdf, $image);

};

Oczywiście w pliku pdflib.upr musisz mieć
Kod
Encoding

iso8859-2=iso8859-2.enc

iso8859-2=iso8859-2.cpg

oraz
Kod
FontOutline

Times New Roman=TIMES.TTF

A times.ttf w katalogu tym samym co pdflib.upr.

Jeśli będzie Ci się chciało to napisz jakie wrażenia.


--------------------
cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 01:02