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  aliexpress  za jedyne 30zł. Po przeanali

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 jak trze

Praca Licencjacka: Implementacja gry komputerowej gatunku Hack’n Slash w oparciu o silnik Unity3D

Tytuł tematu mojej pracy licencjackiej to  Implementacja gry komputerowej gatunku  Hack’n Slash w oparciu o silnik Unity3D. Celem pracy jest implementacja gry komputerowej w oparciu o istniejący silnik Unity.  Gra Samurai jest gatunku Hack'n Slash. W grze wcielamy się w samuraja, który ma za zadanie pokonanie przeciwników. Do dyspozycji mamy podstawowy atak mieczem. Wraz z ilością pokonanych przeciwników siła i żywotność na naszego bohatera zwiększa się. Dodatkowo, w pracy opisano problematykę tworzenia gier komputerowych, początki przemysłu gier komputerowym, rynek gier komputerowych i najpopularniejsze obecnie silniki gier. Skupiono się głównie na opisaniu silnika Unity i zestawu narzędzi, które on oferuje. Został też dokładnie opisany sposób powstania gry Samurai - wszystkie funkcje i świat gry.   Jeżeli ktoś był by zainteresowany przeczytaniem mojej pracy dyplomowej to jest ona dostępna w czytelniach biblioteki SGGW.