Ua hoʻokomo ka Open Source Foundation i ka mea hoʻohui pūnaewele JShelter e kaupalena i ka JavaScript API

Ua hoʻokomo ka Free Software Foundation i ka papahana JShelter, kahi e hoʻomohala ai i kahi polokalamu kele pūnaewele e pale aku i nā mea hoʻoweliweli e kū mai ana i ka wā e hoʻohana ai i ka JavaScript ma nā pūnaewele, me ka ʻike huna, ka nānā ʻana i nā neʻe a me ka hōʻiliʻili ʻana o ka ʻikepili mea hoʻohana. Hāʻawi ʻia ke code papahana ma lalo o ka laikini GPLv3. Hoʻomākaukau ʻia ka add-on no Firefox, Google Chrome, Opera, Brave, Microsoft Edge a me nā polokalamu kele pūnaewele ʻē aʻe e pili ana i ka mīkini Chromium.

Ke hoʻomohala ʻia nei ka papahana ma ke ʻano he hana hui pū ʻia e ka NLnet Foundation. ʻO Giorgio Maone, ka mea nāna i hana i ka NoScript add-on, a me nā mea nāna i hoʻokumu i ka papahana J++ a me nā mea kākau o ka JS-Shield a me JavaScript Restrictor add-ons, ua hui pū me ka hoʻomohala ʻana o JShelter. Hoʻohana ʻia ka JavaScript Restrictor add-on i kumu no ka papahana hou.

Hiki ke noʻonoʻo ʻia ʻo JShelter he ʻano pā ahi no nā polokalamu hoʻolālā JavaScript i loaʻa i nā pūnaewele a me nā noi pūnaewele. Hāʻawi ka add-on i ʻehā pae o ka pale, a me kahi ʻano hoʻonohonoho maʻalahi no ke komo ʻana i ka API. ʻAe ʻo Level zero i ke komo ʻana i nā API āpau, ʻo ka mea mua e pili ana i ka pale liʻiliʻi ʻaʻole e hoʻopau i ka hana ʻana o nā ʻaoʻao, ʻo ka pae ʻelua ke kaulike ma waena o ka pale ʻana a me ka hoʻohālikelike ʻana, a ʻo ka pae ʻehā e hoʻopaʻa paʻa i nā mea āpau ʻole.

Hiki ke hoʻopaʻa ʻia nā hoʻonohonoho hoʻopaʻa ʻana i ka API i nā pūnaewele hoʻokahi, no ka laʻana, hiki ke hoʻoikaika ʻia ka pale no kekahi mau pūnaewele, a me ke kīnā ʻole no nā mea ʻē aʻe. Hiki iā ʻoe ke koho koho i kekahi mau ala JavaScript, nā mea, nā waiwai, a me nā hana, a i ʻole e hoʻololi i nā waiwai hoʻihoʻi (no ka laʻana, e hana i ka ʻike wahaheʻe e pili ana i ka ʻōnaehana). ʻO kahi hiʻohiʻona ʻokoʻa ʻo ke ʻano NBS (Network boundary shield), ʻaʻole ia e ʻae i nā ʻaoʻao e hoʻohana i ka polokalamu kele pūnaewele ma ke ʻano he koho ma waena o nā pūnaewele waho a me ke kūloko (ua hoʻopaʻa ʻia a nānā ʻia nā noi i waho a pau).

Nā API i ālai ʻia a kapu ʻia:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp a me VRFrameData.prototype.timestamp - hiki ke hoʻohana i ka puka manawa kūpono e ʻike a hoʻokō i nā hoʻouka ʻaoʻao. .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - hoʻohana ʻia e hoʻoholo i nā hiʻohiʻona o ka subsystem kiʻi i ka wā e ʻike ai i kahi mea hoʻohana.
  • AudioBuffer a me AnalyserNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyData() a me AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyData() a me AnalyserNode.getFloatasData()
  • WebGLRenderingContext - ka ʻike ʻana ma o ka nānā ʻana i nā hiʻohiʻona o ka waihona kiʻi a me GPU.
  • MediaDevices.prototype.enumerateDevices - ʻike ma ka loaʻa ʻana o nā ʻāpana a me nā inoa o ke kāmela a me ka microphone.
  • navigator.deviceMemory, navigator.hardwareConcurrency - loaʻa ka ʻike e pili ana i ka lako.
  • XMLHttpRequest (XHR) - hoʻoili i ka ʻike pūnaewele i hōʻiliʻili ʻia i kahi kikowaena waho ma hope o ka hoʻouka ʻana o ka ʻaoʻao.
  • ArrayBuffer - ke hoʻokō nei i nā hoʻouka ʻana i nā microarchitectural Specter.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - ke hoʻokō nei i nā hoʻouka kaua e loiloi i nā lohi i ka wā e komo ai i ka ʻikepili.
  • Geolocation API (navigator.geolocation) - ke komo i ka ʻike wahi (ʻo ka hoʻohui e hiki ai iā ʻoe ke hoʻololi i ka ʻikepili i hoʻihoʻi ʻia).
  • ʻO Gamepad API (navigator.getGamepads()) kekahi o nā hōʻailona ʻike e noʻonoʻo ana i ka loaʻa ʻana o kahi gamepad i loko o ka ʻōnaehana.
  • Virtual Reality API, Mixed Reality API - ka hoʻohana ʻana i nā ʻāpana hāmeʻa virtual reality no ka ʻike.
  • puka makani.inoa - leaks pae kea.
  • navigator.sendBeacon - hoʻohana ʻia no ka ʻikepili pūnaewele.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka