Przejdź do głównej zawartości

Używanie stylów w konsoli przeglądarki internetowej

W poniższym artykule przedstawię jak zrobić czytelny komunikat, który ostrzeże użytkowników przed wklejaniem obcego kodu do narzędzi deweloperskich przeglądarki internetowej.
W dzisiejszych czasach jednym z zagrożeń czyhających w sieci są cyberprzestępcy. Zabezpieczenia systemów są tak silne, jak ich najsłabsze ogniwo, a bardzo często owym najsłabszym ogniwem okazują się właśnie użytkownicy końcowi.
Przestępcy ogłaszają się, że stworzyli genialny sposób, dzięki któremu zobaczysz, kto przeglądał Twój profil na portalach społecznościowych. Wystarczy jedynie przekopiować jedną linijkę do konsoli przeglądarki i wcisnąć Enter. Tak naprawdę jest to złośliwy kod, który może zawirusować nasz komputer, przejąć nasze konto lub wysłać kompromitujące zdjęcia do naszych znajomych. Na niektórych stronach internetowych (między innymi na Facebooku), kiedy wejdziemy w narzędzia deweloperskie przeglądarki możemy zobaczyć komunikat ostrzegający nas, aby nic nie robić w konsoli.
1.JPG
2.JPG


Używanie kolorów w konsoli nie jest dostępne dla wszystkich przeglądarek, ale te najpopularniejsze to umożliwiają. Wyświetlanie stylów w narzędziach deweloperskich jest wspierane przez:
  • Google Chrome
  • Firefox (bez obrazów)
  • Opera
Przeglądarki, które nie wspierają tej funkcjonalności, to:
  • Internet Explorer
  • Edge
  • Safari

Implementacja

Na samym początku potrzebujemy utworzyć czysty szkielet strony WWW.
3.JPG

Funkcja init() zostanie wywołana przy wczytaniu strony WWW. W tej funkcji dodajemy:
setInterval(function(){    message();   }, 3000);
Funkcja ta co 3 sekundy będzie wywoływać funkcję message(), która będzie odpowiedzialna za wyświetlanie nam komunikatu. W funkcji message() wpisujemy nasz komunikat:
console.log("Uwaga");
console.log("Ta konsola służy wyłącznie dla twórców strony internetowej");
console.log("Jeżeli ktoś polecił Ci skopiować i wkleić tu coś");
console.log("jest to oszustwo, które ma na celu okradzenie Ciebie");
console.log("w razie pytań skontaktuj się z administracją");
console.log("xyz@xyz.xyz");


Po uruchomieniu naszej strony internetowej oraz narzędzi deweloperskich możemy zobaczyć nasz komunikat, który będzie wypisywany co 3 sekundy.
4.JPG

Mamy już komunikat, teraz trzeba zrobić wersje kolorową logów dla Firefoxa, Opery i Chroma. Najpierw musimy sprawdzić, z jakiej przeglądarki korzysta użytkownik:
var isFirefox= /Firefox/.test(navigator.userAgent);
var isChrome= /Google Inc/.test(navigator.vendor);
var isOpera= /OPR/.test(navigator.userAgent);


Następnie, jeżeli użytkownik korzysta z któreś z tych przeglądarek, możemy używać stylów w console.log.
console.log("%c Uwaga", 'color: red; font-size:48px');
Flaga %c mówi przeglądarce, że drugim argumentem funkcji log będzie styl CSS zapisany jako string. W tym przypadku chcemy, aby tekst Uwaga był czerwony i miał rozmiar 48 pikseli.
Poniżej przedstawiam przykładowe formatowanie tekstu informującego użytkownika o niebezpieczeństwie wynikającym z korzystania z konsoli przeglądarki internetowej:
console.log("%c Uwaga", 'color: red; font-size:48px');
console.log("%c ta konsola służy wyłącznie dla twórców strony internetowej", 'background: red; color: white;font-size:20px');
console.log("%c jeżeli ktoś polecił ci skopiować i wkleić tu coś", 'background: red; color: white;font-size:20px');
console.log("%c jest to oszustwo, które ma na celu okradzenie ciebie", 'background: red; color: white;font-size:20px');
console.log("%c w razie pytań skontaktuj się z administracją", 'background: red; color: white;font-size:20px');
console.log("%c xyz@xyz.xyz", 'background: yellow; color: black;font-size:20px');


Po uruchomieniu przeglądarki i otwarciu narzędzi deweloperskich powinniśmy zobaczyć następujący komunikat:

5.JPG

Dodatkowo, możemy wyświetlić gifa w konsoli (funkcjonalność ta jest obecnie obsługiwana jedynie przez Google Chrome i Operę). Aby to zrobić, musimy dodać poniższą linijkę kodu:

console.log("%c     ", "background-image: url('https://media.tenor.com/images/bf2553d895448f25a5c5fbad86a3e985/tenor.gif');font-size: 180px;no-repeat;");
Wartość parametru font-size będzie definiowała wysokość obrazka, a liczba spacji w pierwszym parametrze funkcji conosle.log będzie informować o szerokości. Po uruchomieniu konsoli możemy zobaczyć, że nasz gif został wygenerowany (należy pamiętać, że dla innych gif’ów wartość font-sizei liczba spacji będą musiały być zmienione, w innym wypadku obrazek może zostać ucięty lub powielony).

6.JPG

Pełen kod aplikacji znajduje się w repozytorium GitHub

Komentarze

Popularne posty z tego bloga

Wymiana dysku w Macbook Air 13 2017 na m2

Jestem wielkim miłośnikiem komputerów Apple. Uważam, że są one bardzo dobrze wykonane i przemyślane. Posiadam Macbooka Air 13 z 2017 roku (Model A1466) i jestem z niego bardzo zadowolony. Jedynym jego mankamentem jest zbyt mała pojemność dysku . Wersja laptopa, którą posiadam była wyposażona w dysk o pojemności 128 GB. Dla programisty .NET to stanowczo za mało! Ta pojemność starcza jedynie na zainstalowanie niezbędnych narzędzi programistycznych i stworzenie maszyny wirtualnej.  A gdzie miejsce na inne dane?  Zakup dysku pasującego do tego komputera o pojemności 512 GB to koszt ponad 2500zł. Nie warto narażać się na aż tak wysokie koszty - można to zrobić taniej.  Wystarczy kupić adapter ze złącza Apple (12pin-16pin) na złącze m2 i kompatybilny dysk na m2. W sumie wydamy nie więcej jak 500zł, czyli 5 razy mniej jak w przypadku zakupu dysku przeznaczonego do Macbooka, a efekt będzie taki sam. Samą przejściówkę zamówiłem z  aliexpres...

Virago 535, przedni gar nie pali tak jak trzeba

Ten wpis będzie mniej komputerowy, a bardziej hobbystyczno - mechaniczny. Tak jak wspominałem w zakładce O mnie, moim oczkiem w głowie jest mój wiekowy 22-letni motocykl Yamaha Virago 535. Jest to motor, który idealnie spełnia wymogi prawa jazdy kategorii A2. Nie jest wyposażony we żadne wtryski ani komputery pokładowe, jest to najbardziej klasyczne rozwiązanie z gaźnikiem i dźwignią ssania. Pod koniec zeszłego sezony miałem problem z przednim cylindrem. Virago 535 ma silnik w kształcie litery V i posiada dwa cylindry, które potocznie nazywamy garami. Mój motocykl z trudem odpalał i po rozgrzaniu silnika okazywało się często że przedni cylinder jest zimny – nie działa. Doraźnie pomogło wymiana świec i wizyta u miejscowego mechanika, który zapewniał ze wyregulował gaźniki i coś tam jeszcze zrobił i na pewno wszystko będzie działać jak należy. Ponieważ był to już późny październik  i dni były coraz chłodniejsze  nie miałem szansy w pełni przetestować czy wszystko działa...

Kilka słów o złośliwym oprogramowaniu, czyli moja praca magisterska

Kilka dni temu zdałem egzamin dyplomowy i uzyskałem tytuł magistra informatyki. Temat mojej pracy dyplomowej to Złośliwe oprogramowanie, jako broń XXI wieku. Implementacja przykładowej aplikacji szpiegowskiej na platformę Windows. Wybór tematu okazał się strzałem w dziesiątkę z racji ostatnich ataków WanaCry i (Not)Pety. Praca wzbudziła spore zainteresowanie. Celem jej była analiza szkodliwego oprogramowania. W części teoretycznej omówiłem, jakie są jego rodzaje, jakie szkody może wyrządzić oraz kto i po co je tworzy. Przeanalizowałem, w jakie sposób należy dobierać oprogramowanie antywirusowe, aby było najbardziej skuteczne i dopasowane do potrzeb użytkownika. Omówiłem także w jaki sposób należy skonfigurować stacje roboczą, aby zminimalizować szanse na infekcje złośliwym oprogramowaniem oraz skutki ataku w razie zarażenia. Część praktyczna pracy to implementacja w pełni działającego Keylogger'a w technologii .NET. Program przechwytuje każdy wciśnięty klawisz na klawiaturz...