рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдлрд╛рдЙрдиреНрдбреЗрд╢рдирд▓реЗ JavaScript API рд▓рд╛рдИ рд╕реАрдорд┐рдд рдЧрд░реНрди JShelter рдмреНрд░рд╛рдЙрдЬрд░ рдПрдб-рдЕрди рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНтАНрдпреЛ

рдирд┐: рд╢реБрд▓реНрдХ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдлрд╛рдЙрдиреНрдбреЗрд╢рдирд▓реЗ JShelter рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНтАНрдпреЛ, рдЬрд╕рд▓реЗ рд▓реБрдХреЗрдХреЛ рдкрд╣рд┐рдЪрд╛рди, рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рдЪрд╛рд▓рд╣рд░реВ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдХреЛ рд╕рдВрдЪрдп рд╕рд╣рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ JavaScript рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреЗ рдЦрддрд░рд╛рд╣рд░реВрдмрд╛рдЯ рдЬреЛрдЧрд╛рдЙрди рдмреНрд░рд╛рдЙрдЬрд░ рдПрдб-рдЕрди рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб GPLv3 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред рдПрдб-рдЕрди рдлрд╛рдпрд░рдлрдХреНрд╕, рдЧреБрдЧрд▓ рдХреНрд░реЛрдо, рдУрдкреЗрд░рд╛, рдмреНрд░реЗрдн, рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯ рдПрдЬ рд░ рдХреНрд░реЛрдорд┐рдпрдо рдЗрдиреНрдЬрд┐рдирдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫред

рдкрд░рд┐рдпреЛрдЬрдирд╛ NLnet рдлрд╛рдЙрдиреНрдбреЗрд╕рди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рдПрдХ рд╕рдВрдпреБрдХреНрдд рдкрд╣рд▓ рдХреЛ рд░реВрдк рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдЬрд┐рдпреЛрд░реНрдЬрд┐рдпреЛ рдорд╛рдУрдиреЗ, NoScript рдПрдб-рдЕрдирдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛, рд╕рд╛рдереИ J++ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХрд╛ рд╕рдВрд╕реНрдерд╛рдкрдХрд╣рд░реВ рд░ JS-Shield рд░ JavaScript Restrictor рдПрдб-рдЕрдирдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВ рдкрдирд┐ JShelter рдХреЛ рд╡рд┐рдХрд╛рд╕рдорд╛ рд╕рд╛рдореЗрд▓ рднрдПред JavaScript Restrictor add-on рд▓рд╛рдИ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

JShelter рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВ рд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз JavaScript рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдлрд╛рдпрд░рд╡рд╛рд▓рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рд╕реЛрдЪреНрди рд╕рдХрд┐рдиреНрдЫред рдПрдб-рдЕрдирд▓реЗ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рдЪрд╛рд░ рд╕реНрддрд░рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рд╕рд╛рдереИ API рдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рд▓рдЪрд┐рд▓реЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдореЛрдб рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рд╕реНрддрд░ рд╢реВрдиреНрдпрд▓реЗ рд╕рдмреИ API рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪрд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдкрд╣рд┐рд▓реЛрдорд╛ рдиреНрдпреВрдирддрдо рдмреНрд▓рдХрд┐рдЩ рд╕рдорд╛рд╡реЗрд╢ рдЫ рдЬрд╕рд▓реЗ рдкреГрд╖реНрдард╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдорд╛ рдмрд╛рдзрд╛ рдкреБрд░реНтАНрдпрд╛рдЙрдБрджреИрди, рджреЛрд╕реНрд░реЛ рд╕реНрддрд░рд▓реЗ рдмреНрд▓рдХрд┐рдЩ рд░ рдХрдореНрдкреНрдпрд╛рдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдмреАрдЪрдХреЛ рд╕рдиреНрддреБрд▓рди рд░ рдЪреМрдереЛ рддрд╣рд▓реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рдХрдбрд╛ рд░реВрдкрдорд╛ рдЕрд╡рд░реБрджреНрдз рдЧрд░реНрдиреЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

API рдЕрд╡рд░реБрджреНрдз рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдмрд╛рдБрдзреНрди рд╕рдХрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЗрд╣реА рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдмрд▓рд┐рдпреЛ рдмрдирд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ, рд░ рдЕрд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рддрдкрд╛рдИрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдзрд┐рд╣рд░реВ, рд╡рд╕реНрддреБрд╣рд░реВ, рдЧреБрдгрд╣рд░реВ, рд░ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдмреНрд▓рдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╡рд╛ рдлрд┐рд░реНрддрд╛ рдорд╛рдирд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЧрд▓рдд рдЬрд╛рдирдХрд╛рд░реА рдЙрддреНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН)ред рдПрдЙрдЯрд╛ рдЫреБрдЯреНрдЯреИ рд╕реБрд╡рд┐рдзрд╛ NBS (рдиреЗрдЯрд╡рд░реНрдХ рдмрд╛рдЙрдиреНрдбреНрд░реА рд╢рд┐рд▓реНрдб) рдореЛрдб рд╣реЛ, рдЬрд╕рд▓реЗ рдкреГрд╖реНрдард╣рд░реВрд▓рд╛рдИ рдмрд╛рд╣реНрдп рд░ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВ рдмреАрдЪрдХреЛ рдкреНрд░реЛрдХреНрд╕реАрдХреЛ рд░реВрдкрдорд╛ рдмреНрд░рд╛рдЙрдЬрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИрди (рд╕рдмреИ рдмрд╣рд┐рд░реНрдЧрдорди рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЕрд╡рд░реЛрдз рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░рд┐рдиреНрдЫ)ред

рдЕрд╡рд░реБрджреНрдз рд╡рд╛ рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд API рд╣рд░реВ:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp рд░ VRFrameData.prototype.timestamp - рд╕рд╣реА рд╕рдордп рдЖрдЙрдЯрдкреБрдЯ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд░ рд╕рд╛рдЗрдб-рдЪреНрдпрд╛рдирд▓ рдЖрдХреНрд░рдордгрд╣рд░реВ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред ред
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрджрд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
  • AudioBuffer рд░ AnalyserNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getChannelData(), AnalyserNode.getChannelDatarequencyBetre ata()) - рдЕрдбрд┐рдпреЛ рд╕рдВрдХреЗрддрд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдорд╛рд░реНрдлрдд рдкрд╣рд┐рдЪрд╛рдиред
  • WebGLRenderingContext - рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реНрдЯреНрдпрд╛рдХ рд░ GPU рдХреЛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдорд╛рд░реНрдлрдд рдкрд╣рд┐рдЪрд╛рдиред
  • MediaDevices.prototype.enumerateDevices - рдХреНрдпрд╛рдореЗрд░рд╛ рд░ рдорд╛рдЗрдХреНрд░реЛрдлреЛрдирдХреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд░ рдирд╛рдорд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрд░ рдкрд╣рд┐рдЪрд╛рдиред
  • navigator.deviceMemory, navigator.hardwareConcurrency - рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИред
  • XMLHttpRequest (XHR) - рдкреГрд╖реНрда рд▓реЛрдб рднрдПрдкрдЫрд┐ рдмрд╛рд╣реНрдп рд╕рд░реНрднрд░рдорд╛ рд╕рдВрдХрд▓рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрджрдЫред
  • ArrayBuffer - рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╕реНрдкреЗрдХреНрдЯрд░ рдЖрдХреНрд░рдордгрд╣рд░реВ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрджреИред
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - рдбрд╛рдЯрд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрджрд╛ рдврд┐рд▓рд╛рдЗ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ рдЖрдХреНрд░рдордгрд╣рд░реВред
  • рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдПрдкреАрдЖрдИ (navigator.geolocation) - рд╕реНрдерд╛рди рдЬрд╛рдирдХрд╛рд░реАрдорд╛ рдкрд╣реБрдБрдЪ (рдЬреЛрдбрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдлрд┐рд░реНрддрд╛ рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛рд▓рд╛рдИ рд╡рд┐рдХреГрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ)ред
  • рдЧреЗрдордкреНрдпрд╛рдб API (navigator.getGamepads()) рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЧреЗрдордкреНрдпрд╛рдбрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреЗ рдкрд╣рд┐рдЪрд╛рди рдЪрд┐рдиреНрд╣рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛред
  • рднрд░реНрдЪреБрдЕрд▓ рд░рд┐рдпрд▓рд┐рдЯреА API, рдорд┐рд╢реНрд░рд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ API - рдкрд╣рд┐рдЪрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рднрд░реНрдЪреБрдЕрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдЙрдкрдХрд░рдг рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧред
  • window.name - рдХреНрд░рд╕-рд╕рд╛рдЗрдЯ рд▓реАрдХред
  • navigator.sendBeacon - рд╡реЗрдм рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди