ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್ ಫೌಂಡೇಶನ್ JShelter ಯೋಜನೆಯನ್ನು ಪರಿಚಯಿಸಿತು, ಇದು ವೆಬ್ಸೈಟ್ಗಳಲ್ಲಿ JavaScript ಅನ್ನು ಬಳಸುವಾಗ ಉಂಟಾಗುವ ಬೆದರಿಕೆಗಳ ವಿರುದ್ಧ ರಕ್ಷಿಸಲು ಬ್ರೌಸರ್ ಆಡ್-ಆನ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತದೆ, ಗುಪ್ತ ಗುರುತಿಸುವಿಕೆ, ಟ್ರ್ಯಾಕಿಂಗ್ ಚಲನೆಗಳು ಮತ್ತು ಬಳಕೆದಾರರ ಡೇಟಾ ಸಂಗ್ರಹಣೆ ಸೇರಿದಂತೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು GPLv3 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. ಕ್ರೋಮಿಯಂ ಎಂಜಿನ್ನ ಆಧಾರದ ಮೇಲೆ ಫೈರ್ಫಾಕ್ಸ್, ಗೂಗಲ್ ಕ್ರೋಮ್, ಒಪೇರಾ, ಬ್ರೇವ್, ಮೈಕ್ರೋಸಾಫ್ಟ್ ಎಡ್ಜ್ ಮತ್ತು ಇತರ ಬ್ರೌಸರ್ಗಳಿಗಾಗಿ ಆಡ್-ಆನ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ.
ಯೋಜನೆಯನ್ನು ಎನ್ಎಲ್ನೆಟ್ ಫೌಂಡೇಶನ್ನಿಂದ ಜಂಟಿ ಉಪಕ್ರಮವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ. ನೊಸ್ಕ್ರಿಪ್ಟ್ ಆಡ್-ಆನ್ನ ಸೃಷ್ಟಿಕರ್ತ ಜಾರ್ಜಿಯೊ ಮಾವೊನ್, ಹಾಗೆಯೇ J++ ಯೋಜನೆಯ ಸಂಸ್ಥಾಪಕರು ಮತ್ತು JS-ಶೀಲ್ಡ್ ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ರೆಸ್ಟ್ರಿಕ್ಟರ್ ಆಡ್-ಆನ್ಗಳ ಲೇಖಕರು ಸಹ JShelter ನ ಅಭಿವೃದ್ಧಿಗೆ ಸೇರಿಕೊಂಡರು. JavaScript ನಿರ್ಬಂಧಕ ಆಡ್-ಆನ್ ಅನ್ನು ಹೊಸ ಯೋಜನೆಗೆ ಆಧಾರವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
JShelter ಅನ್ನು ವೆಬ್ಸೈಟ್ಗಳು ಮತ್ತು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಲಭ್ಯವಿರುವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ಗಳಿಗಾಗಿ ಒಂದು ರೀತಿಯ ಫೈರ್ವಾಲ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು. ಆಡ್-ಆನ್ ನಾಲ್ಕು ಹಂತದ ರಕ್ಷಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಜೊತೆಗೆ 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. ಡೇಟಾ()) - ಆಡಿಯೋ ಸಿಗ್ನಲ್ಗಳ ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ಗುರುತಿಸುವಿಕೆ.
- WebGLRenderingContext - ಗ್ರಾಫಿಕ್ಸ್ ಸ್ಟಾಕ್ ಮತ್ತು GPU ನ ವೈಶಿಷ್ಟ್ಯಗಳ ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ಗುರುತಿಸುವಿಕೆ.
- MediaDevices.prototype.enumerateDevices - ಕ್ಯಾಮೆರಾ ಮತ್ತು ಮೈಕ್ರೊಫೋನ್ನ ನಿಯತಾಂಕಗಳು ಮತ್ತು ಹೆಸರುಗಳನ್ನು ಪಡೆಯುವ ಮೂಲಕ ಗುರುತಿಸುವಿಕೆ.
- navigator.deviceMemory, navigator.hardwareConcurrency - ಹಾರ್ಡ್ವೇರ್ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುವುದು.
- XMLHttpRequest (XHR) - ಪುಟವನ್ನು ಲೋಡ್ ಮಾಡಿದ ನಂತರ ಬಾಹ್ಯ ಸರ್ವರ್ಗೆ ಸಂಗ್ರಹಿಸಿದ ಸಿಸ್ಟಮ್ ಮಾಹಿತಿಯನ್ನು ವರ್ಗಾಯಿಸುತ್ತದೆ.
- ArrayBuffer - ಮೈಕ್ರೊ ಆರ್ಕಿಟೆಕ್ಚರಲ್ ಸ್ಪೆಕ್ಟರ್ ದಾಳಿಗಳನ್ನು ನಡೆಸುವುದು.
- WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸುವಾಗ ವಿಳಂಬವನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ದಾಳಿಗಳನ್ನು ನಡೆಸುವುದು.
- ಜಿಯೋಲೊಕೇಶನ್ API (navigator.geolocation) - ಸ್ಥಳ ಮಾಹಿತಿಗೆ ಪ್ರವೇಶ (ಸೇರ್ಪಡೆಯು ಹಿಂತಿರುಗಿದ ಡೇಟಾವನ್ನು ವಿರೂಪಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ).
- ಗೇಮ್ಪ್ಯಾಡ್ API (navigator.getGamepads()) ಸಿಸ್ಟಂನಲ್ಲಿ ಗೇಮ್ಪ್ಯಾಡ್ ಇರುವಿಕೆಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವ ಗುರುತಿನ ಚಿಹ್ನೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.
- ವರ್ಚುವಲ್ ರಿಯಾಲಿಟಿ API, ಮಿಶ್ರ ರಿಯಾಲಿಟಿ API - ಗುರುತಿಸಲು ವರ್ಚುವಲ್ ರಿಯಾಲಿಟಿ ಸಾಧನ ನಿಯತಾಂಕಗಳ ಬಳಕೆ.
- window.name - ಅಡ್ಡ-ಸೈಟ್ ಸೋರಿಕೆಗಳು.
- navigator.sendBeacon - ವೆಬ್ ಅನಾಲಿಟಿಕ್ಸ್ಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಮೂಲ: opennet.ru