Pole do przesłania pliku w formularzu kontaktowym bardzo ułatwia życie klientom. Zdjęcie usterki, rzut mieszkania do wyceny, skan dokumentu albo życiorys trafiają do firmy razem z zapytaniem, bez osobnej korespondencji. Ta sama wygoda oznacza jednak, że każdy odwiedzający, także automat, może wysłać na serwer i do firmowej skrzynki dowolny plik.
Ten wpis jest przeznaczony dla właścicieli firm i osób, które samodzielnie opiekują się stroną na WordPressie. Opisuję w nim, jak dodać załącznik do formularza tak, aby przyjmował wyłącznie potrzebne rodzaje plików, nie przepuszczał zbyt dużych przesyłek, nie zostawiał cudzych dokumentów w publicznie dostępnym miejscu i nie psuł dostarczania wiadomości.
Po lekturze czytelnik będzie umiał dobrać listę dozwolonych rozszerzeń, ustawić limit rozmiaru zgodny z możliwościami serwera i poczty, skonfigurować pole w najpopularniejszych wtyczkach, przetestować całość oraz znaleźć przyczynę, gdy plik nie dochodzi.
Kiedy pole na plik ma sens i jakie zagrożenia ze sobą niesie?
Pierwsze pytanie brzmi: czy załącznik jest w tym formularzu rzeczywiście potrzebny. Każde dodatkowe pole to więcej pracy przy zabezpieczeniu i więcej danych, za które firma odpowiada. Jeśli pliki przydają się tylko w części zapytań, lepiej utworzyć osobny formularz, na przykład do wyceny lub rekrutacji, a zwykły formularz kontaktowy zostawić bez załączników.
Zagrożenia są cztery i dobrze je rozumieć, zanim zacznie się ustawiać wtyczkę. Pierwsze to plik wykonywalny, czyli skrypt, który po zapisaniu na serwerze w dostępnym miejscu dałoby się uruchomić przez przeglądarkę. W ten sposób przejmowane są całe strony. Drugie to plik szkodliwy dla odbiorcy: dokument z makrami albo program udający fakturę, który infekuje komputer pracownika po otwarciu.
Trzecie zagrożenie to zapchanie serwera lub skrzynki. Bardzo duże pliki albo setki małych wysyłane przez automat zużywają miejsce i potrafią zatrzymać pocztę. Czwarte dotyczy poufności: jeżeli przesłane dokumenty leżą w katalogu, do którego prowadzi zwykły adres, może je pobrać każdy, kto ten adres pozna lub odgadnie.
Organizacja OWASP, która opracowuje uznane zalecenia dotyczące bezpieczeństwa aplikacji internetowych, sprowadza ochronę do kilku zasad. Należy dopuścić wyłącznie listę rozszerzeń niezbędnych do działania firmy, sprawdzać rzeczywisty typ pliku zamiast ufać deklaracji przeglądarki, nadawać plikom nazwy generowane przez system, ustawić limit rozmiaru, przechowywać pliki poza miejscem dostępnym z internetu i w miarę możliwości skanować je programem antywirusowym. OWASP podkreśla też, że żadna pojedyncza metoda nie wystarcza i dopiero kilka warstw razem daje sensowną ochronę.

Dobra wiadomość jest taka, że popularne wtyczki formularzy realizują dużą część tych zasad samodzielnie. Zadaniem właściciela strony jest przede wszystkim nie osłabiać ustawień domyślnych bez potrzeby i świadomie dobrać trzy rzeczy: typy plików, limit rozmiaru i miejsce przechowywania.
Jakie typy plików dopuścić, a jakich nie dopuszczać nigdy?
Obowiązuje zasada listy dozwolonych, a nie listy zakazanych. Nie da się wypisać wszystkich niebezpiecznych rozszerzeń, bo stale pojawiają się nowe warianty i sztuczki z wielkością liter albo podwójnym rozszerzeniem. Dużo prościej wskazać dwa, trzy formaty, których firma naprawdę potrzebuje, i odrzucać całą resztę.
W większości firm usługowych wystarcza taki zestaw:
- pdf – dokumenty, skany, oferty, życiorysy;
- jpg, jpeg, png – zdjęcia i zrzuty ekranu;
- heic – tylko wtedy, gdy klienci często wysyłają zdjęcia prosto z iPhone’a, a osoba odbierająca pocztę potrafi taki plik otworzyć.
Dokumenty edytowalne, czyli doc, docx, xls i xlsx, radzę dopuszczać wyłącznie wtedy, gdy jest to konieczne. Mogą zawierać makra, a w praktyce niemal każdy potrafi dziś zapisać dokument jako PDF. Jeśli firma musi je przyjmować, osoby otwierające załączniki powinny mieć w pakiecie biurowym wyłączone automatyczne uruchamianie makr.
Nigdy nie należy dopuszczać plików, które serwer lub komputer może wykonać: php, phtml, js, html, htm, svg, exe, bat, cmd, sh, msi ani podobnych. Plik svg wygląda jak niewinna grafika, ale może zawierać skrypt, dlatego WordPress domyślnie nie pozwala go przesyłać. Ostrożność jest potrzebna także przy archiwach zip i rar, ponieważ wtyczka nie zagląda do ich wnętrza, więc w środku może znaleźć się cokolwiek.
Jeżeli klienci mają do przekazania nietypowe lub bardzo duże materiały, na przykład projekty graficzne, bezpieczniej poprosić w formularzu o odnośnik do pliku w usłudze chmurowej, z której firma korzysta, niż otwierać pole na wszystkie możliwe formaty.
Jaki limit rozmiaru ustawić i od czego on zależy?
Limit rozmiaru wynika z trzech ograniczeń i obowiązuje zawsze najniższe z nich. Pierwsze ustawia sam serwer w konfiguracji PHP. Drugie wynika z wtyczki formularza. Trzecie narzuca poczta: jeśli plik ma dotrzeć jako załącznik wiadomości, musi zmieścić się w limicie skrzynki nadawczej i odbiorczej, a w czasie przesyłania pocztą załącznik dodatkowo zwiększa swoją objętość.
Limity serwera można odczytać w panelu WordPressa bez pomocy programisty:
- W menu po lewej stronie należy wejść w „Narzędzia”, a następnie w „Stan witryny”.
- U góry ekranu trzeba przejść do zakładki „Informacja”.
- Na liście należy rozwinąć sekcję „Obsługa mediów”.
- W wierszu „Maksymalny rozmiar wysyłanego pliku” widać największy pojedynczy plik, jaki przyjmie serwer, a w wierszu „Maksymalna dopuszczalna wielkość wysyłanych danych” łączną wielkość całego wysyłanego formularza.
- Obie wartości warto zanotować, bo limit ustawiony we wtyczce nie może ich przekraczać.
Za tymi wierszami stoją dwa ustawienia PHP: upload_max_filesize oraz post_max_size. Jeśli są zbyt niskie, zmienia się je w panelu hostingu, zwykle w części poświęconej konfiguracji PHP, albo prosi o to pomoc techniczną dostawcy. Nie polecam podnoszenia ich bez potrzeby: wysoki limit dotyczy wtedy całej strony, a nie tylko jednego formularza.
W praktyce dla zdjęć i dokumentów rozsądny jest limit kilku megabajtów na plik. Zdjęcie z telefonu zajmuje zazwyczaj kilka megabajtów, a wielostronicowy skan w PDF podobnie. Jeśli formularz ma kilka pól na pliki, trzeba policzyć ich sumę, bo to ona trafia do jednej wiadomości. Limit warto też podać klientowi wprost w opisie pola, na przykład: Dozwolone pliki: PDF, JPG, PNG. Maksymalny rozmiar jednego pliku: 5 MB.
Kto woli nie zajmować się tym samodzielnie, może zadzwonić pod numer 533 525 168 albo napisać na info@lukaszwudyka.pl. Przejmę wtedy sprawę: dobiorę typy plików i limity do potrzeb firmy, ustawię pole we wtyczce, sprawdzę miejsce przechowywania załączników i przetestuję cały formularz.
Jak dodać pole pliku w Contact Form 7?
Contact Form 7 obsługuje załączniki w podstawowej wersji wtyczki. Pole pliku opisuje się znacznikiem formularza z dwiema opcjami: filetypes, czyli lista dozwolonych typów rozdzielonych pionową kreską, oraz limit, czyli największy dopuszczalny rozmiar. Limit podaje się w bajtach albo z końcówką kb lub mb.
Dwie wartości domyślne łatwo przeoczyć. Bez opcji limit wtyczka przyjmuje plik do 1 MB, więc większość zdjęć z telefonu zostanie odrzucona. Bez opcji filetypes aktualna wersja dopuszcza pliki dźwiękowe, wideo i obrazy, a więc PDF nie przejdzie, dopóki nie zostanie wpisany na listę. Dlatego obie opcje należy zawsze ustawić samodzielnie.
- W panelu WordPressa należy wejść w „Kontakt”, a następnie w „Formularze kontaktowe” i otworzyć do edycji właściwy formularz.
- W zakładce „Formularz” trzeba ustawić kursor w miejscu, w którym ma pojawić się pole, i kliknąć przycisk generatora znaczników „plik”.
- W oknie generatora, w części „Typ pola”, opcję „To pole jest wymagane.” zaznacza się tylko wtedy, gdy bez załącznika zapytanie nie ma sensu. W części „Nazwa pola” wpisuje się krótką nazwę bez polskich znaków, na przykład zalacznik.
- W polu „Dozwolone typy plików” wpisuje się listę rozdzieloną pionową kreską: pdf|jpg|jpeg|png.
- W polu „Limit rozmiaru pliku” wpisuje się wartość, na przykład 5mb.
- Po kliknięciu „Wstaw tag” w treści formularza pojawi się znacznik. Dobrze jest poprzedzić go opisem dla klienta z listą formatów i limitem.
- Następnie trzeba przejść do zakładki z szablonem wiadomości e-mail i w polu „Załączniki” wpisać nazwę pola w nawiasach kwadratowych: [zalacznik]. Bez tego plik zostanie przyjęty, ale nie dotrze do skrzynki.
- Na końcu należy kliknąć „Zapisz”.
Gotowy fragment treści formularza może wyglądać tak:
<label> Załącznik (PDF, JPG lub PNG, do 5 MB) [file zalacznik limit:5mb filetypes:pdf|jpg|jpeg|png] </label>
Jeżeli pole ma być obowiązkowe, zamiast file wpisuje się file*. Kiedy klient ma przesłać kilka plików, najprościej dodać dwa lub trzy osobne pola o różnych nazwach, na przykład zalacznik1 i zalacznik2, a w polu „Załączniki” wpisać wszystkie nazwy w nawiasach kwadratowych, jedną pod drugą.

Trzeba też znać ograniczenie samej wtyczki: łączny rozmiar załączników jednej wiadomości nie może przekroczyć 25 MB. Po przekroczeniu tej wartości Contact Form 7 nie dołączy pliku. W praktyce i tak lepiej trzymać się znacznie niższych wartości, bo wiele skrzynek pocztowych nie przyjmie tak dużej wiadomości.
Komunikaty, które klient zobaczy przy odrzuceniu pliku, zmienia się w zakładce z komunikatami formularza. Domyślne brzmią „Przesłany plik jest za duży.” oraz „Nie możesz wgrywać plików tego typu.”. Radzę dopisać do nich konkret, czyli dozwolone formaty i limit, żeby klient od razu wiedział, co poprawić.
Jak ustawić załącznik w WPForms i innych wtyczkach?
W WPForms pole pliku nosi nazwę „File Upload” i jest dostępne w płatnych licencjach, a nie w wersji podstawowej bez opłat. Panel kreatora w dużej części pozostaje po angielsku, dlatego podaję nazwy w oryginale. Według dokumentacji wtyczka domyślnie dopuszcza te same bezpieczne typy plików co sam WordPress, ale listę warto zawęzić do tego, co faktycznie potrzebne.
- W kreatorze formularza należy dodać pole „File Upload” i kliknąć je w podglądzie, aby otworzyć jego opcje.
- W polu „Allowed File Extensions” wpisuje się dozwolone rozszerzenia rozdzielone przecinkami, na przykład pdf, jpg, jpeg, png.
- W polu „Max File Size” wpisuje się limit w megabajtach. Po najechaniu na znak zapytania obok tego pola wtyczka pokazuje największy rozmiar, jaki przyjmie serwer.
- Ustawienie „Max File Number” określa, ile plików klient może dodać w jednym polu. Domyślnie jest to jeden plik, a większa liczba wymaga stylu „Modern” w zakładce „Advanced”.
- W tej samej zakładce znajduje się przełącznik „Enable File Access Restrictions”, który pozwala ograniczyć dostęp do przesłanych plików do wybranych użytkowników WordPressa albo zabezpieczyć je hasłem.
- Na końcu trzeba zapisać formularz i wykonać wysyłkę próbną.
WPForms działa inaczej niż Contact Form 7 w jednej ważnej sprawie. Pliki są zapisywane na serwerze, w osobnym folderze wtyczki wewnątrz katalogu przesłanych plików, a w powiadomieniu e-mail domyślnie pojawia się odnośnik do pliku, nie sam załącznik. Dołączanie plików do wiadomości włącza przełącznik „Enable File Upload Attachments” w zaawansowanej części ustawień powiadomienia. Dokumentacja uprzedza, że załączniki mogą pogorszyć dostarczalność poczty, gdy plik przekroczy limit skrzynki.
W tej samej zakładce „Advanced” jest też opcja „Store file in WordPress Media Library”. Odradzam jej włączanie w formularzach dla klientów. Biblioteka mediów służy do publikowania materiałów na stronie, a nie do przechowywania cudzych dokumentów, i plik, który tam trafi, otrzymuje zwykły publiczny adres.
Inne rozbudowane wtyczki formularzy oraz kreatory stron mają analogiczne ustawienia pod własnymi nazwami. Niezależnie od narzędzia w opcjach pola pliku trzeba znaleźć i ustawić trzy rzeczy: listę dozwolonych rozszerzeń, maksymalny rozmiar i liczbę plików. Trzeba też ustalić, gdzie wtyczka zapisuje pliki i kto może je pobrać. Jeśli dokumentacja wtyczki nie odpowiada na te pytania, radzę wybrać inną.
Gdzie trafiają przesłane pliki i kto ma do nich dostęp?
To pytanie rozstrzyga o tym, czy formularz jest bezpieczny. Wtyczki stosują dwa podejścia. W pierwszym plik jest tylko przekazywany dalej: trafia na chwilę do katalogu tymczasowego, zostaje dołączony do wiadomości i znika z serwera. W drugim plik zostaje na serwerze na stałe, a firma dostaje do niego odnośnik.
Contact Form 7 działa w pierwszy sposób. Plik trafia do katalogu tymczasowego wp-content/uploads/wpcf7_uploads, do podfolderu o losowej nazwie, i jest usuwany krótko po wysłaniu wiadomości. Wtyczka umieszcza w tym katalogu plik .htaccess, który zabrania dostępu z przeglądarki. Skutek praktyczny jest taki, że jedyną kopią załącznika staje się ta w skrzynce pocztowej. Jeśli wiadomość nie dojdzie, pliku nie da się odzyskać z serwera.
Plik .htaccess działa na serwerach Apache i zgodnych z nim. Serwer nginx go nie odczytuje, więc na takim hostingu ochronę katalogu trzeba ustawić w konfiguracji serwera. Wystarczy zapytać o to pomoc techniczną dostawcy, podając ścieżkę katalogu.
Przy wtyczkach, które przechowują pliki na stałe, należy wykonać prosty test. Po wysłaniu próbnego pliku trzeba skopiować jego adres z powiadomienia lub z listy zgłoszeń, a następnie otworzyć ten adres w oknie prywatnym przeglądarki, bez zalogowania do WordPressa. Jeżeli plik się wyświetla, jest dostępny dla każdego, kto pozna adres. Wtedy trzeba włączyć we wtyczce ograniczenie dostępu albo zrezygnować z trwałego przechowywania.
W załącznikach bardzo często znajdują się dane osobowe: życiorysy, skany umów, zdjęcia dokumentów, czasem informacje o zdrowiu. Firma, która je przyjmuje, odpowiada za nie na gruncie RODO. W informacji o przetwarzaniu danych przy formularzu powinno być napisane, w jakim celu pliki są zbierane i jak długo będą przechowywane. Nie należy prosić o dokumenty, które nie są potrzebne do obsługi zapytania.
Trzeba też ustalić własną zasadę porządkowania. Pliki zapisane na serwerze i w skrzynce powinny być usuwane, gdy sprawa się zakończy i nie ma podstawy, by trzymać je dłużej. W WPForms usunięcie zgłoszenia usuwa także pliki przesłane razem z nim, z wyjątkiem tych zapisanych w bibliotece mediów. W sprawach wątpliwych, zwłaszcza przy rekrutacji i danych wrażliwych, radzę skonsultować zasady z prawnikiem lub inspektorem ochrony danych.
Jak chronić pole pliku przed botami i nadużyciami?
Formularz z załącznikiem jest dla automatów atrakcyjniejszy niż zwykły, bo pozwala rozsyłać szkodliwe pliki i zapełniać skrzynkę. Podstawą jest więc ochrona antyspamowa, która zatrzymuje zgłoszenie, zanim plik zostanie przetworzony. Sposoby niewidoczne dla klienta opisałem we wpisie o tym, jak dodać ochronę do formularza zalewanego spamem.
Druga warstwa to aktualizacje. Luki w obsłudze przesyłania plików należą do najpoważniejszych błędów, jakie zdarzają się we wtyczkach formularzy, a naprawiają je kolejne wydania. Wtyczka formularza, wszystkie jej dodatki i sam WordPress powinny być aktualizowane na bieżąco. Odradzam mało znane dodatki rozszerzające przesyłanie plików, których autor od dawna nie publikuje poprawek.
Trzecia warstwa to konfiguracja serwera. W katalogu przesłanych plików nie powinno dać się uruchomić żadnego skryptu PHP. Wiele firm hostingowych ustawia to na prośbę klienta albo udostępnia taką opcję w panelu, podobnie jak skanowanie antywirusowe plików na koncie. Warto o to zapytać, bo taka blokada chroni również wtedy, gdy zawiedzie wtyczka.
Nie należy natomiast poszerzać listy typów plików akceptowanych przez cały WordPress tylko po to, żeby formularz przyjął nietypowy format. Takie zmiany dotyczą całej strony, również biblioteki mediów, i łatwo o nich zapomnieć. Jeśli mimo ostrożności na serwerze pojawią się nieznane pliki albo strona zacznie zachowywać się nietypowo, trzeba działać według planu opisanego we wpisie o tym, co robić, gdy strona na WordPressie została zainfekowana.
Jak bezpiecznie otwierać załączniki, które przyszły z formularza?
Zabezpieczenia strony nie zastąpią ostrożności po stronie odbiorcy. Wtyczka sprawdza rozszerzenie i rozmiar, ale nie ocenia, czy treść dokumentu jest uczciwa. Plik PDF może zawierać odnośnik do fałszywej strony logowania, a dokument biurowy prośbę o włączenie makr. Zasady dla osób odbierających zgłoszenia powinny być krótkie i znane wszystkim w firmie.
- Załącznik otwiera się dopiero po przeczytaniu treści zgłoszenia. Plik bez sensownego opisu albo od nadawcy, który nie podał danych kontaktowych, powinien wzbudzić czujność.
- Komputer, na którym otwiera się załączniki, ma aktualny system, aktualną przeglądarkę i działający program antywirusowy.
- Dokumenty PDF i zdjęcia najbezpieczniej oglądać w podglądzie poczty lub w przeglądarce, bez pobierania na dysk.
- W dokumencie od nieznanej osoby nigdy nie włącza się makr ani nie klika przycisku „Włącz zawartość”, nawet jeśli plik o to prosi.
- Odnośników i kodów QR z otrzymanego dokumentu nie otwiera się bez sprawdzenia, dokąd prowadzą, a na otwartej w ten sposób stronie nie podaje się haseł.

Jeśli pracownik otworzył podejrzany plik i komputer zaczął działać inaczej niż zwykle, trzeba odłączyć urządzenie od sieci i zgłosić sprawę osobie odpowiedzialnej za sprzęt w firmie. Zwlekanie w takiej sytuacji zwykle zwiększa szkody.
Jak przetestować pole pliku przed publikacją?
Formularz z załącznikiem trzeba sprawdzić dokładniej niż zwykły, ponieważ błąd widać dopiero przy konkretnym pliku. Test najlepiej wykonać na komputerze i na telefonie, bo zdjęcia robione telefonem są większe i miewają inne formaty. Ogólne zasady testowania opisałem we wpisie o tym, jak ustawić formularz kontaktowy, który nie gubi zapytań. Tutaj podaję kroki dotyczące samego pliku.
- Wysłanie formularza z poprawnym plikiem PDF mieszczącym się w limicie. Wiadomość powinna dojść z załącznikiem, który daje się otworzyć.
- Wysłanie zdjęcia zrobionego telefonem, bezpośrednio z telefonu. To najczęstszy rzeczywisty przypadek i najczęstsze miejsce awarii.
- Próba wysłania pliku większego niż limit. Formularz powinien pokazać zrozumiały komunikat i nie wysłać zgłoszenia.
- Próba wysłania pliku o niedozwolonym rozszerzeniu, na przykład dokumentu tekstowego z rozszerzeniem txt, jeśli nie ma go na liście. Oczekiwany wynik to komunikat o niedozwolonym typie.
- Zmiana nazwy niedozwolonego pliku tak, aby kończyła się na .pdf, i ponowna próba. Wynik pokazuje, czy wtyczka sprawdza wyłącznie rozszerzenie, czy także zawartość pliku.
- Wysłanie formularza bez pliku, jeśli pole nie jest obowiązkowe. Zgłoszenie powinno dojść normalnie.
- Sprawdzenie, czy plik pozostał na serwerze i czy jego adres otwiera się w oknie prywatnym przeglądarki, zgodnie z opisem z wcześniejszej sekcji.
Do testów nie wolno używać prawdziwego szkodliwego oprogramowania. Wystarczą zwykłe, nieszkodliwe pliki o różnych rozszerzeniach i rozmiarach. Test należy powtarzać po każdej większej aktualizacji wtyczki formularza i po zmianie hostingu, ponieważ limity serwera mogą się wtedy zmienić.
Co zrobić, gdy plik nie dochodzi albo formularz zgłasza błąd?
Większość awarii ma jedną z kilku powtarzalnych przyczyn. Najszybciej znajduje się ją, sprawdzając po kolei: komunikat w formularzu, limity serwera, ustawienia wiadomości i na końcu pocztę.
- Komunikat o zbyt dużym pliku przy małym pliku. Limit we wtyczce albo na serwerze jest niższy, niż się wydaje. W Contact Form 7 brak opcji
limitoznacza 1 MB. Należy porównać ustawienie pola z wartościami z ekranu „Stan witryny”. - Komunikat o niedozwolonym typie przy poprawnym pliku. Rozszerzenia nie ma na liście. Częsty przypadek to zdjęcie z rozszerzeniem jpeg przy liście zawierającej tylko jpg albo zdjęcie HEIC z iPhone’a.
- Wiadomość dochodzi bez załącznika. W Contact Form 7 w polu „Załączniki” brakuje nazwy pola w nawiasach kwadratowych albo różni się ona od nazwy w znaczniku formularza. W WPForms nie został włączony przełącznik dołączania plików do powiadomienia.
- Formularz kręci się bez końca i nic nie wysyła. Plik przekracza limit całego żądania na serwerze, połączenie zostało przerwane albo działa zapora, która blokuje przesyłanie. Dokumentacja WPForms wskazuje też błędną konfigurację certyfikatu SSL, czyli mieszanie adresów http i https. Dobrym sprawdzianem jest wysyłka bez pliku: jeśli przechodzi, przyczyna leży w polu pliku.
- Zgłoszenia z plikiem w ogóle nie docierają, a bez pliku docierają. Wiadomość jest zbyt duża dla skrzynki albo została zatrzymana przez filtr poczty. Trzeba zmniejszyć limit lub przejść na odnośnik do pliku zamiast załącznika.
- Ostrzeżenie o katalogu tymczasowym. Contact Form 7 informuje w edytorze formularza, że katalog na pliki nie istnieje lub nie pozwala na zapis. Katalog i jego uprawnienia poprawia się przez menedżer plików w panelu hostingu albo z pomocą dostawcy.
Osobną grupą są problemy z dostarczalnością. Wiadomości z załącznikami są przez filtry poczty oceniane surowiej niż zwykłe. Jeżeli strona wysyła pocztę bez prawidłowego uwierzytelnienia domeny, zgłoszenie z plikiem ma większą szansę trafić do spamu. Jak to uporządkować, wyjaśniam we wpisie o ustawieniu SPF, DKIM i DMARC.
Niektóre przeglądarki wbudowane w aplikacje społecznościowe na telefonach nie obsługują przesyłania plików. Klient, który otworzył stronę z poziomu takiej aplikacji, może nie być w stanie dodać załącznika. Dlatego przy polu pliku radzę podać także adres e-mail, na który można wysłać dokumenty w zwykłej wiadomości.
Gdy żadna z tych przyczyn nie pasuje, pomaga wyłączanie pozostałych wtyczek po kolei na kopii testowej strony oraz zajrzenie do dziennika błędów serwera w panelu hostingu. Zmian nie należy sprawdzać na działającej stronie w godzinach, w których klienci wysyłają zapytania.
Najczęstsze pytania
Czy lepiej dostawać plik jako załącznik, czy jako odnośnik?
Załącznik jest wygodniejszy i nie zostawia pliku na serwerze, ale ogranicza go rozmiar skrzynki i ostrzejsze filtry poczty. Odnośnik sprawdza się przy większych plikach, pod warunkiem że dostęp do nich jest ograniczony do osób uprawnionych. Dla zdjęć i krótkich dokumentów zwykle wybieram załącznik z niskim limitem.
Czy samo ograniczenie rozszerzeń wystarczy?
Nie. Rozszerzenie można zmienić w kilka sekund, dlatego jest to tylko pierwsza z kilku warstw. Pozostałe to limit rozmiaru, katalog bez dostępu z przeglądarki, blokada uruchamiania skryptów w katalogu przesłanych plików, aktualne wtyczki i ostrożność przy otwieraniu.
Czy można pozwolić na pliki zip?
Można, ale odradzam to w formularzu dostępnym dla wszystkich. Wtyczka nie sprawdza zawartości archiwum, a spakowany plik potrafi po rozpakowaniu zająć wielokrotnie więcej miejsca. Bezpieczniej poprosić o kilka osobnych plików albo o odnośnik do usługi chmurowej.
Dlaczego zdjęcia z iPhone’a są odrzucane?
Telefony tej marki mogą zapisywać zdjęcia w formacie HEIC, którego zwykle nie ma na liście dozwolonych typów. Rozwiązaniem jest dopisanie heic do listy albo informacja przy polu, że przyjmowane są zdjęcia JPG. W wielu przypadkach telefon sam zamienia format przy wyborze zdjęcia w przeglądarce, więc warto sprawdzić to w teście.
Czy Contact Form 7 przechowuje gdzieś przesłane pliki?
Nie przechowuje ich trwale. Plik trafia do katalogu tymczasowego, zostaje dołączony do wiadomości i jest usuwany z serwera. Jeśli wiadomość nie dotrze, plik przepada, dlatego przy ważnych dokumentach tak istotne jest sprawne dostarczanie poczty.
Czy klient może przesłać kilka plików naraz?
Tak. W Contact Form 7 najprościej dodać kilka osobnych pól pliku, a w WPForms zwiększyć wartość „Max File Number” przy stylu „Modern”. W obu przypadkach trzeba policzyć łączny rozmiar wszystkich plików i porównać go z limitem serwera oraz poczty.
Czy do pola pliku potrzebna jest osobna zgoda?
Samo pole pliku zwykle nie wymaga osobnej zgody, jeśli dokument służy do obsługi zapytania. Klient powinien jednak otrzymać przy formularzu informację, kto i w jakim celu przetwarza przesłane dane oraz jak długo je przechowuje. Przy danych szczególnie chronionych zasady są surowsze i wymagają indywidualnej oceny prawnej.
Brak czasu albo ochoty, żeby zająć się tym samodzielnie?
Ustawienie załącznika w formularzu wymaga zajrzenia w kilka miejsc naraz: do wtyczki, konfiguracji serwera, ustawień poczty i zasad przechowywania danych. Nie każdy ma na to czas i jest to w pełni zrozumiałe. Mogę zająć się tym od początku do końca: ustalę, jakie pliki są firmie naprawdę potrzebne, ustawię pole i limity, sprawdzę, gdzie trafiają przesłane dokumenty i czy nikt niepowołany ich nie pobierze, a na koniec przetestuję formularz na komputerze i telefonie.
Wystarczy zadzwonić pod numer 533 525 168 albo napisać na adres info@lukaszwudyka.pl i podać adres strony. Odpowiem, co trzeba zrobić w konkretnym przypadku i ile to potrwa.



