Przejdź do treści

Formularze

Hasło

<form action="...">
	<input type="password" name="nazwa" />
</form>
gdzie jako "nazwa" należy wpisać nazwę danego pola. Zostanie ona później wysłana wraz z formularzem. Nazwa nie powinna być zbyt długa!

Wprowadza pole, w którym można wpisać hasło. Od zwykłego pola tekstowego różni się tylko tym, że podczas wpisywania do niego tekstu, nie są widoczne podawane znaki, ale jedynie gwiazdki ("*"). Można również stosować dokładnie te same atrybuty, chociaż podanie hasła domyślnego, może nie być dobrym pomysłem :-).

Przesyłanie ważnych haseł dostępu w zwykłym formularzu pocztowym nie jest bezpieczne, ponieważ formularz taki nie jest szyfrowany. Niesie to ze sobą niebezpieczeństwo, że wiadomość w drodze do adresata może zostać przechwycona i odczytana przez osoby niepowołane.

Dla zaawansowanych
Można natomiast zaszyfrować cały formularz, podczas przesyłania go do skryptu, pracującego na serwerze. Aby to zrobić, należy adres skryptu (atrybut ACTION dla znacznika FORM) poprzedzić przez: "https://" (należy podać całkowity adres, a nie względną ścieżkę dostępu). Spowoduje to nawiązanie połączenia przez bezpieczny protokół SSL. Niestety nie wszystkie serwery obsługują takie połączenie :-(

Wygląd pól formularza można zdefiniować bardziej precyzyjnie dzięki możliwościom CSS - np. przy pomocy zamieszczonego generatora.

Przykład:

Zwróć uwagę, że wpisywane znaki są automatycznie zastępowane gwiazdkami.

Podaj hasło...

size="10"

Tutaj możesz wprowadzić najwyżej 10-znakowe hasło (maxlength="10").

To jest pole tylko do odczytu (readonly="readonly").

To pole jest zablokowane (disabled="disabled").

Strona na hasło

Wykorzystując pole typu "password" można w prosty sposób zabezpieczyć wybraną stronę hasłem. W tym celu wystarczy na stronie głównej, do której wszyscy mają normalny dostęp, wstawić następujący kod:

<form action="?" onsubmit="window.location.href = this.password.value + '.html'; return false">
	<input type="password" name="password" />
	<input type="submit" value="OK" />
</form>

Hasłem w tym przypadku jest nazwa strony bez rozszerzenia, którą chcemy zabezpieczyć. Przykładowo: hasłem do strony tajna_strona.html (która znajduje się w tym samym katalogu co strona główna, czyli tam gdzie wstawiliśmy powyższy skrypt) będzie tajna_strona

Należy przy tym pamiętać, że zabezpieczane strony muszą mieć rozszerzenie *.html, a jeśli to niemożliwe, należy zmienić pierwszą linijkę powyższego skryptu w wyróżnionym miejscu. Nie muszę chyba przypominać, że link do takiej strony nie może pojawić się w żadnym miejscu serwisu ani na żadnej innej stronie, bo wtedy zabezpieczanie będzie zupełnie bezużyteczne, skoro dowolny użytkownik i tak będzie mógł wejść na "chronioną" stronę po prostu klikając w taki link. Jeśli nazwa strony nie będzie publicznie prezentowana, to nikt bez znajomości hasła (czyli w rzeczywistości nazwy ukrytej strony) nie będzie mógł się na nią dostać.

Oczywiście nic nie stoi na przeszkodzie, aby zabezpieczyć w ten sposób kilka różnych stron - każdą innym hasłem. Nie można zabezpieczyć jednak dwóch podstron tym samym hasłem, ponieważ każdy plik musi mieć inną nazwę. Aby zaimplementować taki mechanizm - logowanie i ewentualnie rejestrację nowych użytkowników - trzeba się posłużyć bardziej zaawansowanym skryptem obsługiwanym po stronie serwera, np. w języku PHP.

UWAGA!
Jeśli do komputera z którego korzystają użytkownicy posiadający hasło mają dostęp również inne osoby (np. użytkownicy wchodzą na zabezpieczone strony z kafejki internetowej), po zakończeniu pracy trzeba koniecznie wyczyścić tymczasowe pliki internetowe (tzw. cache przeglądarki) oraz historię w przeglądarce, która była używana. Jeśli nie zostanie to zrobione, zabezpieczenie w ogóle nie będzie skuteczne!

Ponadto konieczne jest, aby w katalogu w którym znajduje się strona chroniona hasłem umieścić plik "index.html", ponieważ bez niego na niektórych serwerach będzie można zobaczyć zawartość katalogu, a tym samym nazwę ukrytej strony, która jest jednocześnie hasłem. Plik "index.html" może być nawet pusty - ważne jest, żeby się znajdował w tym samym katalogu co tajny dokument!

Zobacz także

Komentarze

Zobacz więcej komentarzy