AVG ostatnio powiedział mi, że strona została zablokowana z powodu zaciemnienia JavaScript .
Dlaczego strona została zablokowana i co to dokładnie znaczy?
AVG ostatnio powiedział mi, że strona została zablokowana z powodu zaciemnienia JavaScript .
Dlaczego strona została zablokowana i co to dokładnie znaczy?
Odpowiedzi:
Zaciemnianie jest sposobem na „zaciemnienie” prawdziwego znaczenia i intencji twojego kodu javascript. Niektóre strony wykorzystują go jako przeszkodę dla osób, które chcą skopiować / pożyczyć swój kod. Inne strony używają go jako środka do ukrywania rzeczywistej intencji kodu.
Niektóre formy zaciemnienia:
Zacieranie się nie jest samo w sobie złem, ale może być użyte do ukrycia złych zamiarów i prawdopodobnie właśnie temu AVG się sprzeciwił. Wykrył tak wiele zaciemnienia, że nie był w stanie stwierdzić, czy javascript próbuje zrobić coś, czemu chce zapobiec. Jako taki domyślnie zadeklarował kod jako niebezpieczny, ponieważ nie może zweryfikować poprawności kodu.
źródło
1
i2
są również wykonywane przez kompresory javascript. Sprężarki zaciemniają kod jako efekt uboczny, ale nie jest to ich głównym celem; ich głównym celem jest zmniejszenie javascript, aby zmniejszyć przepustowość.Zaciemnianie odnosi się do ukrywania zamierzonego znaczenia czegoś.
W tym przypadku czytelny fragment kodu JavaScript, taki jak
można zastąpić
lub nawet
Wszystkie trzy fragmenty kodu robią dokładnie to samo, ale tylko czytanie pierwszego pozwoli ci łatwo zrozumieć jego intencje.
Najwyraźniej AVG próbuje zrozumieć cel kodu JavaScript przed umożliwieniem jego wykonania. Gdy kod jest zaciemniony, AVG prawdopodobnie zawiedzie. Stąd ostrzeżenie.
To powiedziawszy, niektóre strony zaciemniają swój JavaScript nie z powodu złych intencji, ale utrudniają kradzież ich pracy. Zaciemnianie jest zwykle bezużyteczne, jeśli jest używane do tego celu, ale chodzi o to, że zaciemnianie niekoniecznie oznacza złe intencje.
źródło