เจ
เจเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฟ เจเจเจเฉ เจตเจฟเจธเจผเจฟเจเจ 'เจคเฉ เจฐเฉเจธเฉ เจชเฉเจฐเจธเจผเจจ เจ
เจคเฉ เจเฉฑเจคเจฐ เจธเจฐเฉเจค CIS เจตเจฟเฉฑเจ เจเจพเจซเจผเฉ เจชเฉเจฐเจธเจฟเฉฑเจง เจนเจจ -
เจเจฐเฉเจฐเฉ เจเฉเจเจพ:
- เจจเจพเจฎ: เจเฉเจธเจเจฐ เจเจฐเจพเจฎ.
- เจเจชเจญเฉเจเจคเจพ เจ เฉฐเจเฉเฉ: เจนเฉฑเจฒเจพเจ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจธเจผเจจเจพเจ เจฆเฉ เจชเฉเจฐเจคเฉเจธเจผเจคเจคเจพ; เจนเจฌเจฐ เจคเฉเจ เจเจฐเจฎ; เจชเฉเจฐเฉเจซเจพเจเจฒ เจคเฉเจ เจธเฉฐเจเฉเจช - เจเจน เจธเจญ เจเฉเจธเจเจฐ เจฆเฉ เจชเฉเจฐเจธเจผเจจเจพเจ เจฆเฉ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจนเฉเฅค
- เจจเฉเจเจฟเจธ: เจธเจพเจเจ 'เจคเฉ เจฐเฉเจ
เจฒ เจเจพเจเจฎ เจตเจฟเฉฑเจ, เจเจเจเจจ 'เจคเฉ, เจจเจพเจฒ เจนเฉ เจชเฉเจธเจผ เจธเฉเจเจจเจพเจตเจพเจ, เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจธเฉเจเจฟเฉฐเจเจพเจ, เจธเจพเจเจ เจเฉเฉฑเจฒเฉ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ (
เจตเจฟเจเฉ ).
- เจซเจฟเจฒเจเจฐ: เจซเจพเจฐเจฎเฉเจฒเฉ 'เจคเฉ เจ
เจงเจพเจฐเจค เจธเจผเจฐเจคเจพเจ: เจคเฉเจธเฉเจ เจธเจตเจพเจฒเจพเจ เจจเฉเฉฐ เจฒเฉเจเจพ เจธเจเจฆเฉ เจนเฉ, เจเจนเจจเจพเจ เจจเฉเฉฐ เจฐเฉฐเจ เจฆเฉ เจธเจเจฆเฉ เจนเฉ, เจ
เจคเฉ เจธเฉเจเจจเจพเจตเจพเจ เจตเฉ เจฆเจฟเจเจพ เจธเจเจฆเฉ เจนเฉ - เจเจน เจธเจญ เจฒเจเจเจฆเจพเจฐ เจขเฉฐเจ เจจเจพเจฒ เจคเจฐเจเจชเฉเจฐเจจ เจธเจฅเจฟเจคเฉเจเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ (
เจตเจฟเจเฉ ).
- เจเฉฐเจเจฐเจซเฉเจธ: เจฎเจพเจฎเฉเจฒเฉ เจธเฉเจงเจพเจฐ, เจเจฟเจตเฉเจ เจเจฟ เจธเจนเฉ เจคเจพเจฐเฉเจเจพเจ เจจเฉเฉฐ เจฆเจฟเจเจพเจเจฃเจพ เจเจพเจ เจชเฉเจฐเจธเจผเจจเจพเจ เจฆเฉ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจเจพเจนเจเฉ เจธเจฅเจฟเจคเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจเจพเฅค
- เจนเฉเจฌเจฐ เจเฉฐเจเจฐเจซเฉเจธ: เจฎเจพเจฎเฉเจฒเฉ เจธเฉเจงเจพเจฐ (เจตเจฟเจเจฒเจชเจฟเจ), เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจเฉฐเจกเฉเจเจเฉเจธเจผเจจ เจฒเจพเจเจจเจพเจเฅค
- เจเฉเฉฑเจฒเจพ เจธเจฐเฉเจค: เจเฉเจเจฐ เจคเฉเจธเฉเจ เจธเฉฑเจเจฎเฉเฉฑเจ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ เจคเจพเจ เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจเจชเจฃเฉ เจฒเจ เจฐเฉเจฎเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ (
เจธเจฐเฉเจค ).
- เจฎเฉเจซเจผเจค: เจเจฎเจเจเจเฉ เจฒเจพเจเจธเฉเจเจธ
- เจชเจฒเฉเจเจซเจพเจฐเจฎ:
เจเจฐเฉเจฎ ,เจซเจพเจเจฐเจซเจพเจเจธ .
- เจฎเฉเจฎเฉเจฐเฉ เจฆเฉ เจเจชเจค: 30-50MB, เจเฉเจธเจเจฐ เจฆเฉ เจตเจฟเจเจฒเจชเจพเจ เจ เจคเฉ เจตเจฐเจคเฉเจ เจฆเฉ เจคเฉเจฌเจฐเจคเจพ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ
- เจเจเจพเจฐ: v93 เจฒเจ 0.8.1KB (เจ เจจเจชเฉเจ เจเฉเจคเจพ เจเจฟเจ, เจเฉเจเจพ เจเฉเจก เจจเจนเฉเจ)เฅค
- เจซเจฐเฉเจฎเจตเจฐเจ: เจเฉเฉฐเจฎ, เจธเจพเจซเจผ เจเฉเจเจธ (เจเฉฑเจเฉ-เจเฉฑเจ)เฅค
- เจเฉเจก เจเฉเจฃเจตเฉฑเจคเจพ: เจเจธเจค, เจธเจผเฉเจฒเฉเจเจ เจฆเจพ เจฎเจฟเจธเจผเจฐเจฃ, เจตเฉฑเจกเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ, เจเฉฐเจฆเฉเจเจ เจเจพเจฒเจพเจ, เจเฉเจ เจเจฟเฉฑเจชเจฃเฉเจเจเฅค
- เจเจเจพเจเจผเจคเจพเจ:
toster.ru, habr.com, notifications, storage, unlimitedStorage
เจฎเฉเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเฉเจฃ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจซเจพเจฐเจฎเฉเจฒเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจนเฉเฅค เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจจเจพเจฒ เจฒเจเจญเจ เจเฉเจ เจตเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเฉเจ เจตเฉ เจเฉ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจงเจฟเจเจจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจฎเฉเฉฑเจ เจเฉฑเจฒ เจเจน เจเจพเจฃเจจเจพ เจนเฉ เจเจฟ เจเฉ เจเจพเจนเฉเจฆเจพ เจนเฉ. เจเจฟเจธเฉ เจธเจพเจเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจงเจฟเจเจจ เจฆเฉเจฃ เจฒเจ เจฒเฉเจเจพเจเจฃเจพ, เจฐเฉฐเจ เจฌเจฆเจฒเจฃเจพ เจ เจคเฉ เจธเฉเจเจจเจพเจตเจพเจ เจคเจฟเฉฐเจจ เจฎเฉเฉฑเจ เจชเจนเจฟเจฒเฉ เจนเจจเฅค เจเจฟเจธเฉ เจตเฉ เจเฉเจเจผ เจ เจคเฉ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจซเจฟเจฒเจเจฐ เจเจฐเจจเจพ เจธเจนเฉเจฒเจค เจฆเฉ เจเฉเฉฐเจเฉ เจนเฉเฅค
เจเฉฑเจ เจฒเจเจเจฆเจพเจฐ เจจเจฟเจฏเจฎ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจธเฉ เจเจพเจธ เจตเจฟเจธเจผเฉ 'เจคเฉ เจธเฉเจเจจเจพเจตเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเฉเจตเฉเจเฉ:
!tag("ะะปะพะบะธัะพะฒะฐะฝะธะต ัะตะบะปะฐะผั") && !contains(t,"ัะตะบะปะฐะผ") && contains(t,"ะฑะปะพะบะธัะพะฒ") && !tag("HTACCESS") || containsWord(t,"ัะบะฝ") || contains(t,"ัะพัะบะพะผะฝะฐะดะทะพั") || contains(t,"ัะพัะบะพะผะฟะพะทะพั") || contains(t,"ะณะพััะดะฐัััะฒ") || contains(t,"ะทะฐะฟัะตัะตะฝ") || contains(t,"ะทะฐะฟัะตััะฝ") || contains(t,"ะฟะธัะฐััะบ") || containsWord(t,"ะพะฑั
ะพะด") || containsWord(t,"ัะพััะตะปะตะบะพะผ") || containsWord(t,"ััะพะฒะพะน") || containsWord(t,"ัั") && tag("ะะพะผะฟัััะตัะฝัะต ัะตัะธ") = notify
เจฎเฉเจ เจคเฉเจฐเฉฐเจค เจเจนเจพเจเจเจพ เจเจฟ eval() เจซเฉฐเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจผเจฟเจเจฆเจพ เจฎเจเจผเจพ เจจเจนเฉเจ เจเจตเฉเจเจพเฅค เจเจธ เจฒเจ, เจฎเฉเจจเฉเฉฐ เจเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ 5 KB เจตเจฟเฉฑเจ เจเจชเจฃเฉ เจเฉเจฆ เจฆเฉ เจฌเฉเจธเจพเจเฉ เจฒเจฟเจเจฃเฉ เจชเจ
เจฌเจพเจฐเฉ เจนเจพเจฒ เจนเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจธเจ เจธเฉ
เจเฉฑเจ เจเฉฐเจเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ, TC เจจเฉเฉฐ เจธเจเฉเจฐเฉเจ เจคเฉเจ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจเจฟเจเจเจเจฟ เจเฉฐเจฎ เจจเฉเฉฐ เจเฉฑเจเฉ-เจเฉฑเจ เจฆเฉ เจตเจพเจฐ เจคเฉเจเจผ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจ
เจคเฉ เจเฉเจธเจผ เจจเจพเจฒ เจเฉฐเจฎ - 10 เจตเจพเจฐ, localStorage เจ
เจคเฉ JSON.stringify() เจจเฉเฉฐ เจเฉฑเจก เจเฉ เจ
เจคเฉ เจเฉเจ เจเจฐเจเฉเจเฉเจเจเจฐเจฒ เจนเฉฑเจฒ เจฌเจฆเจฒ เจเฉเฅค เจชเจฐ เจเจน เจฎเฉเจ เจจเจนเฉเจ เจนเจพเจ เจเจฟเจธ เจจเฉ เจเจน เจเจพเจฐเจจเจพเจฎเจพ เจเจฐเจจเจพ เจนเฉเฅค เจ
เจคเฉ เจฎเฉเจ "เจเฉ เจเจน เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ, เจเจธ เจจเฉเฉฐ เจจเจพ เจเฉเจนเฉ" เจธเจฟเจงเจพเจเจค เจฆเจพ เจชเฉเจฐเจธเจผเฉฐเจธเจ เจนเจพเจเฅค เจเจฆเฉเจ เจฎเฉเจ เจเฉเฉฑเจเฉเจเจ 'เจคเฉ เจนเจพเจ, เจฎเฉเจ เจธเจฐเจเจฐเจฎเฉ เจจเจพเจฒ เจฎเฉเฉฑเจฆเจฟเจเจ เจ
เจคเฉ PR เจจเฉเฉฐ เจฒเฉ เจฐเจฟเจนเจพ เจนเจพเจ, เจชเจฐ เจเฉฑเจเฉ เจเฉฑเจ เจฆเฉ เจเฉเจฎเจค 'เจคเฉ เจจเจนเฉเจ. เจคเฉเจนเจพเจกเฉ เจงเจฟเจเจจ เจฒเจ เจงเฉฐเจจเจตเจพเจฆ!
เจธเจฐเฉเจค: www.habr.com