W tym artykule postaram przybliżyć Wam zagadnienie dostępu do strony przez podanie hasła, używając języka JavaScript.
Zaczniemy od najprostszego sposobu. Tworzymy formularz, w którym będą dwa pola: login oraz hasło. No i przycisk do wysłania 😉 Po wypełnieniu pól klikamy OK – skrypt sprawdzi nam poprawność loginu oraz hasła z podanym wcześniej. Oto zarys skryptu oraz formularza:
| <script language=”JavaScript”><!–
var plogin = „costam”; // definiujemy prawidłowy login var phaslo = „etam”; // definiujemy prawidłowe hasło function sprawdz(form) { if ((form.login.value==plogin)&&(form.haslo.value==phaslo)) { document.location = „tajna_strona.html”; // do tej strony zostanie przeniesiony użytkownik } else { window.alert(„Zły login lub hasło!”); } } //–></script> <form name=”login”> Login: <input name=”login” type=”text”><br> Hasło: <input name=”haslo” type=”password”><br><br> <input type=”button” value=”OK” onclick=”sprawdz(this.form)”> |
Mamy zatem gotowy skrypt. Sęk w tym, że to żadne zabezpieczenie! Użytkownik może zerknąć do kodu strony i odczytać prawidłowy login oraz hasło! Sposobem na „obejście” tego problemu jest podanie jako hasła adresu strony, na którą chcemy byś przeniesieni. W tym przypadku wystarczy nam tylko jedno pole textowe (w sumie w poprzednim też wystarczyło by jedno ;):
| <script language=”JavaScript”><!–
function sprawdz(form) { if (form.haslo.value!=null) { document.location = form.haslo.value+”.html”; // zwróć uwagę na rozszerzenie! } else { window.alert(„Złe hasło!”); } } //–></script> <form name=”login”> Hasło: <input name=”haslo” type=”password”><br><br> <input type=”button” value=”OK” onclick=”sprawdz(this.form)”> </form> |
Jako hasło wpisz tajna_strona.
Możemy oczywiście nie używać formularza, tylko okienek dialogowych (konkretnie tego z możliwością wprowadzenia zmiennej), wywoływanych bezpośrednio z linku:
| <script language=”JavaScript”><!–
function haslo() { var okno = prompt(„Wprowadź hasło:”,””); if (okno!=null) { document.location = okno+”.html”; // zwróć uwagę na rozszerzenie! } } //–></script> Kliknij <a href=”javascript:haslo(); return true;”>tutaj</a>. |
Jako hasło wpisz tajna_strona.
Oba powyższe sposoby są już dosyć skuteczne pod warunkiem, że osoba niepowołana nie zna adresu strony, na którą się przenosimy. A tego niestety pod JavaScript „obejść” się nie da.
Przedstawię jeszcze jeden skrypt, który może się wam przydać. Nie dotyczy on bezpośrednio hasłowania strony – sprawdza z jakiego adresu wszedłeś na stronę. Wcześniej definiujesz „poprawny” adres. Jeżeli się one nie zgadzają, wyskakuje komunikat o błędzie:
| <script language=”JavaScript”><!–
var poprzednia = <a href=”http://www.webinside.pl/;” target=”_blank”>www.webinside.pl/;</a> // tutaj musisz podać pełny adres! if (document.referrer!=poprzednia) { history.go(-1) alert(„Na stronę możesz wejść tylko z adresu:\n”+poprzednia); } //–> </script> |
Na koniec chciałbym zauważyć, iż powyższe skrypty są nieużyteczne, jeżeli użytkownik ma wyłączoną obsługę JavaScript. Nie sprawdzą bowiem poprawności hasła! Poza tym… wszystkie linki napisane są w JavaScript ? użytkownik więc nie ma nawet szans na przeniesienie się na jakąkolwiek stronę, czy zna hasło czy też nie 😉 Poza ostatnim przykładem oczywiście.
