ISiseko soMthombo oVulekileyo sazise iJShelter isikhangeli esongezelelo somda kwiJavaScript API

I-Free Software Foundation yazisa iprojekthi ye-JShelter, ephuhlisa i-browser add-on ukukhusela ngokuchasene nezisongelo ezivela xa usebenzisa iJavaScript kwiiwebhusayithi, kubandakanywa ukuchongwa okufihliweyo, ukulandelela ukunyakaza kunye nokuqokelela idatha yomsebenzisi. Ikhowudi yeprojekthi isasazwa phantsi kwelayisensi ye-GPLv3. I-add-on ilungiselelwe i-Firefox, i-Google Chrome, i-Opera, i-Brave, i-Microsoft Edge kunye nezinye iiphequluli ezisekelwe kwi-injini yeChromium.

Le projekthi iphuhliswa njengenyathelo elidibeneyo elixhaswa ngemali yiNLnet Foundation. UGiorgio Maone, umdali we-add-on ye-NoScript, kunye nabasunguli beprojekthi ye-J ++ kunye nababhali be-JS-Shield kunye ne-JavaScript Restrictor add-ons, nabo bajoyina uphuhliso lwe-JShelter. I-JavaScript Restrictor add-on isetyenziswa njengesiseko seprojekthi entsha.

I-JShelter inokucingelwa njengohlobo lomlilo weJavaScript ujongano lwenkqubo olukhoyo kwiiwebhusayithi kunye nosetyenziso lwewebhu. I-add-on inika amanqanaba amane okukhusela, kunye nemo eguquguqukayo yokucwangcisa ukufikelela kwi-API. Inqanaba le-zero livumela ngokupheleleyo ukufikelela kuzo zonke ii-APIs, eyokuqala ibandakanya ukuvinjwa okuncinci okungaphazamisi ukusebenza kwamaphepha, ibhalansi yenqanaba lesibini phakathi kokuthintela kunye nokuhambelana, kwaye inqanaba lesine libandakanya ukuvinjwa okungqongqo kuyo yonke into engadingekile.

Izicwangciso zokuthintela i-API zinokubotshwa kwiindawo zomntu ngamnye, umzekelo, ukukhuselwa kunokuqiniswa kwezinye iindawo, kwaye kukhutshazwe kwabanye. Unokukhetha ngokukhetha iindlela ezithile zeJavaScript, izinto, iipropathi, kunye nemisebenzi, okanye utshintshe amaxabiso okubuyiswa (umzekelo, ukuvelisa ulwazi lobuxoki malunga nenkqubo). Isici esahlukileyo yi-NBS (i-Network boundary shield) imowudi, engavumeli amaphepha ukuba asebenzise i-browser njenge-proxy phakathi kwamanethiwekhi angaphandle kunye neendawo zendawo (zonke izicelo eziphumayo ziyamkelwa kwaye zihlalutywe).

Ii-API ezivaliweyo okanye ezithintelweyo:

  • window.Date, window.performance.now (), iwindow.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp kunye neVRFrameData.prototype.timestamp - ixesha elichanekileyo eliphumayo lingasetyenziselwa ukuchonga nokwenza uhlaselo lwe-channel-channel .
  • I-HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - isetyenziselwa ukumisela iimpawu zendlela engaphantsi kwemizobo xa kuchongwa umsebenzisi.
  • I-AudioBuffer kunye ne-AnalyserNode (AudioBuffer.getChannelData (), AudioBuffer.copyFromChannel (), AnalyserNode.getByteTimeDomainData (), AnalyserNode.getFloatTimeDomainData (), AnalyserNode.getByteFrequencyData (.) kunye nohlalutyo lwe-audio iFloseratNode.
  • IWebGLRenderingContext-ukuchonga ngohlalutyo lweempawu zesitaki segrafiki kunye neGPU.
  • MediaDevices.prototype.enumerateDevices - ukuchongwa ngokufumana iiparamitha kunye namagama ekhamera kunye nemakrofoni.
  • navigator.deviceMemory, navigator.hardwareConcurrency - ukufumana ulwazi malunga ne-hardware.
  • I-XMLHttpRequest (XHR) - idlulisela ulwazi lwenkqubo eqokelelweyo kwiseva yangaphandle emva kokuba iphepha lilayishiwe.
  • I-ArrayBuffer - ukwenza uhlaselo lweSpecter yezakhiwo ezincinci.
  • I-WebWorker (window.Worker), i-SharedArrayBuffer (window.SharedArrayBuffer) - ukwenza uhlaselo oluvavanya ukulibaziseka xa ufikelela kwidatha.
  • I-Geolocation API (navigator.geolocation) - ukufikelela kulwazi lwendawo (ukongeza kukuvumela ukuba ujike idatha ebuyisiweyo).
  • I-Gamepad API (i-navigator.getGamepads ()) yenye yeempawu zokuchonga ezithatha ingqalelo ubukho be-gamepad kwinkqubo.
  • Virtual Reality API, Mixed Reality API - usebenziso lwesixhobo iiparamitha yenyani yenyani ukuchongwa.
  • window.name - ukuvuza kwendawo enqamlezileyo.
  • navigator.sendBeacon-isetyenziselwa uhlalutyo lwewebhu.

umthombo: opennet.ru

Yongeza izimvo