$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?>$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ES6 ਮੋਡੀਊਲ ਅਤੇ ਗਲੋਬਲਇਸ

ES6 ਮੋਡੀਊਲ ਅਤੇ ਗਲੋਬਲਇਸ ਨਾਲ ਇੱਕ ਸੁਰੱਖਿਅਤ JavaScript ਸੈਂਡਬਾਕਸ ਬਣਾਉਣਾ

ES6 ਮੋਡੀਊਲ ਅਤੇ ਗਲੋਬਲਇਸ ਨਾਲ ਇੱਕ ਸੁਰੱਖਿਅਤ JavaScript ਸੈਂਡਬਾਕਸ ਬਣਾਉਣਾ
ES6 ਮੋਡੀਊਲ ਅਤੇ ਗਲੋਬਲਇਸ ਨਾਲ ਇੱਕ ਸੁਰੱਖਿਅਤ JavaScript ਸੈਂਡਬਾਕਸ ਬਣਾਉਣਾ

ਸੁਰੱਖਿਅਤ ਸੰਦਰਭ ਅਲੱਗ-ਥਲੱਗ ਲਈ JavaScript ਵਿੱਚ ਗਲੋਬਲ ਇਸ ਵਿੱਚ ਮੁਹਾਰਤ ਹਾਸਲ ਕਰਨਾ

ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਕੋਡ ਲਿਖਣ ਵੇਲੇ ਗਲੋਬਲ ਆਬਜੈਕਟ ਤੱਕ ਅਣਅਧਿਕਾਰਤ ਪਹੁੰਚ ਨੂੰ ਰੋਕਣਾ ਲਾਜ਼ਮੀ ਹੈ ਜੋ ਬਾਹਰੀ ਜਾਂ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਇਨਪੁਟਸ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਦਾ ਹੈ। ਇਹ ਤੁਹਾਡੇ ਆਲੇ-ਦੁਆਲੇ ਦੀ ਸੁਰੱਖਿਆ ਅਤੇ ਇਕਸਾਰਤਾ ਦੀ ਗਾਰੰਟੀ ਦਿੰਦਾ ਹੈ। ਗਲੋਬਲ ਸਕੋਪ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਦਾ ਇੱਕ ਸਮਕਾਲੀ ਤਰੀਕਾ ਹੈ ਦੁਆਰਾ globalJavaScript ਵਿੱਚ ਇੱਕ ਮੁਕਾਬਲਤਨ ਨਵੀਂ ਕਾਰਜਸ਼ੀਲਤਾ ਹੈ ਜਿਸਨੂੰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਵਸਤੂ।

ਦੁਨੀਆ ਭਰ ਵਿੱਚ ਚਾਹੇ ਉਹ Node.js ਜਾਂ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋਣ, ਡਿਵੈਲਪਰ ਇਸ ਨਾਲ ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਕਰਾਸ-ਵਾਤਾਵਰਣ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹਨ। ਵਸਤੂ। ਮਹੱਤਵਪੂਰਨ ਤੌਰ 'ਤੇ, ਅੰਤਰਰਾਸ਼ਟਰੀ ਇਸ ਕਰਕੇ ਮੁੜ-ਸੰਰਚਨਾਯੋਗ ਹੈ, ਸੈਂਡਬੌਕਸ ਜਾਂ ਨਿਯੰਤਰਿਤ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਵਾਤਾਵਰਨ ਇਸ ਨੂੰ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਓਵਰਰਾਈਟ ਕਰਕੇ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।

ਡਿਵੈਲਪਰ ਇਸ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨਾਲ ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਅਲੱਗ ਕਰ ਸਕਦੇ ਹਨ, ਜੋ ਕਿ ਖਾਸ ਤੌਰ 'ਤੇ ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਅਵਿਸ਼ਵਾਸੀ ਇਨਪੁਟਸ ਨਾਲ ਕੰਮ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਅਸੀਂ ਇੱਕ ਵਿਲੱਖਣ ਗਲੋਬਲ ਸੰਦਰਭ ਸਥਾਪਤ ਕਰਕੇ ਕੋਡ ਨੂੰ ਸੈਂਡਬੌਕਸ ਕਰ ਸਕਦੇ ਹਾਂ, ਜੋ ਕਿ ਬਾਕੀ ਗਲੋਬਲ ਵਸਤੂ ਦੇ ਐਕਸਪੋਜਰ ਨੂੰ ਰੋਕਦੇ ਹੋਏ ਵੇਰੀਏਬਲਾਂ ਦੇ ਇੱਕ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੈੱਟ ਤੱਕ ਪਹੁੰਚ ਦੀ ਇਜਾਜ਼ਤ ਦੇਵੇਗਾ।

ਇਹ ਲੇਖ ਇਸ ਬਾਰੇ ਚਰਚਾ ਕਰੇਗਾ ਕਿ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਗਲੋਬਲ ਇਹ ਅਤੇ ਇੱਕ ਸੈਂਡਬੌਕਸ ਬਣਾਉਣ ਲਈ ES6 ਮੋਡੀਊਲ। ਮੈਂ ਸੰਕਲਪ ਦਾ ਇੱਕ ਸਬੂਤ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਾਂਗਾ ਜੋ ਇੱਕ ਨਿਯੰਤ੍ਰਿਤ ਸੈਟਿੰਗ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੀ ਗਰੰਟੀ ਦੇਣ ਲਈ ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਬਦਲਦਾ ਹੈ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
globalThis myContext = globalThis; - ਭਾਵੇਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੋਵੇ ਜਾਂ Node.js, globalThis ਇੱਕ ਵਿਲੱਖਣ ਵਸਤੂ ਹੈ ਜੋ ਵਿਸ਼ਵਵਿਆਪੀ ਵਸਤੂ ਲਈ ਇੱਕ ਵਿਆਪਕ ਸੰਦਰਭ ਪੇਸ਼ ਕਰਦੀ ਹੈ। ਇੱਥੇ, ਇੱਕ ਸੈਂਡਬੌਕਸ ਦੀ ਨਕਲ ਕਰਨ ਅਤੇ ਇੱਕ ਵਿਲੱਖਣ ਗਲੋਬਲ ਸਕੋਪ ਸਥਾਪਤ ਕਰਨ ਲਈ ਇਸਨੂੰ ਓਵਰਰਾਈਟ ਕੀਤਾ ਗਿਆ ਹੈ।
Proxy mySandbox = ਨਵੀਂ ਪ੍ਰੌਕਸੀ (ਸੈਂਡਬਾਕਸ ਹੈਂਡਲਰ, ਮਾਈਕੰਟੈਕਸ); - AA ਇੱਕ ਵਸਤੂ ਦੇ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਇੱਕ ਪ੍ਰੌਕਸੀ ਦੁਆਰਾ ਰੋਕਿਆ ਅਤੇ ਮੁੜ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਸੈਂਡਬਾਕਸ ਸੰਦਰਭ ਵੇਰੀਏਬਲ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਕੰਟਰੋਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
get get: (target, prop) =>ਪ੍ਰਾਪਤ ਕਰੋ: (ਟਾਰਗੇਟ, ਪ੍ਰੋਪ) => { ... } - The ਪ੍ਰਾਪਤ ਕਰੋ ਪ੍ਰੌਕਸੀ ਇੰਟਰਸੈਪਟਸ ਵਿੱਚ ਟ੍ਰੈਪ ਸੈਂਡਬੌਕਸ ਆਬਜੈਕਟ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਿਰਫ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਾਪਸ ਕੀਤੀਆਂ ਜਾਣ, ਪਰਿਭਾਸ਼ਿਤ ਲੋਕਾਂ ਲਈ ਗਲਤੀਆਂ ਸੁੱਟੀਆਂ ਜਾਣ।
finally ਅੰਤ ਵਿੱਚ ਗਲੋਬਲ ਇਹ ਸੇਵਡ ਗਲੋਬਲ ਦੇ ਬਰਾਬਰ ਹੈ; - ਕੀ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੌਰਾਨ ਕੋਈ ਗਲਤੀ ਹੁੰਦੀ ਹੈ ਜਾਂ ਨਹੀਂ, ਅੰਤ ਵਿੱਚ ਬਲਾਕ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਮੂਲ ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਬਹਾਲ ਕਰਕੇ ਗਲੋਬਲ ਵਸਤੂ ਦੀ ਇਕਸਾਰਤਾ ਬਣਾਈ ਰੱਖੀ ਜਾਂਦੀ ਹੈ।
ReferenceError 'ਸੰਪੱਤੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ'; ਨਵੀਂ ਰੈਫਰੈਂਸ ਐਰਰ ਸੁੱਟੋ; - ਏ ਹਵਾਲਾ ਗਲਤੀ ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਦਸਤੀ ਸੁੱਟਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਸੈਂਡਬੌਕਸ ਦੇ ਅੰਦਰ ਪਰਿਭਾਸ਼ਿਤ ਵੇਰੀਏਬਲ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਚਾਨਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਕੇ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
IIFE ((globalThis) =>((globalThis) => { ... })(globalThis); - ਐਨ IIFE (ਤੁਰੰਤ ਇਨਵੋਕਡ ਫੰਕਸ਼ਨ ਐਕਸਪ੍ਰੈਸ਼ਨ) ਦੀ ਵਰਤੋਂ ਸਥਾਨਕ ਸਕੋਪ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਸੈਂਡਬੌਕਸਡ ਕੋਡ ਨੂੰ ਚਲਾਉਂਦੇ ਸਮੇਂ ਗਲੋਬਲ ਆਬਜੈਕਟ ਨੂੰ ਅਣਇੱਛਤ ਐਕਸਪੋਜ਼ਰ ਤੋਂ ਬਚਾਉਣ ਲਈ।
try...catch 'ਸੰਪੱਤੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ'; ਨਵੀਂ ਰੈਫਰੈਂਸ ਐਰਰ ਸੁੱਟੋ; - ਏ ਹਵਾਲਾ ਗਲਤੀ ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਦਸਤੀ ਸੁੱਟਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਸੈਂਡਬੌਕਸ ਦੇ ਅੰਦਰ ਪਰਿਭਾਸ਼ਿਤ ਵੇਰੀਏਬਲ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਚਾਨਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਕੇ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
savedGlobal 'ਸੰਪੱਤੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ'; ਨਵੀਂ ਰੈਫਰੈਂਸ ਐਰਰ ਸੁੱਟੋ; - ਏ ਹਵਾਲਾ ਗਲਤੀ ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਦਸਤੀ ਸੁੱਟਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਸੈਂਡਬੌਕਸ ਦੇ ਅੰਦਰ ਪਰਿਭਾਸ਼ਿਤ ਵੇਰੀਏਬਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਚਾਨਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਕੇ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ES6 ਮੋਡੀਊਲ ਅਤੇ ਗਲੋਬਲਇਸ ਨਾਲ ਇੱਕ ਸੁਰੱਖਿਅਤ ਗਲੋਬਲ ਸੰਦਰਭ ਬਣਾਉਣਾ

ਪੇਸ਼ ਕੀਤੀਆਂ ਗਈਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਪ੍ਰਾਇਮਰੀ ਟੀਚਾ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੈ a ਸੈਂਡਬਾਕਸਡ ਵਾਤਾਵਰਣ ਜਿੱਥੇ ਗਲੋਬਲ ਵਸਤੂ (ਗਲੋਬਲ ਇਹ) ਨੂੰ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਬਦਲਿਆ ਗਿਆ ਹੈ। ਇਹ ਵਿਧੀ ਤੁਹਾਨੂੰ ਅਸਲ ਗਲੋਬਲ ਵਸਤੂ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਵੇਰੀਏਬਲ ਜਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਲੁਕਾਉਣ ਦਿੰਦੀ ਹੈ, ਜੋ ਕਿ ਬਾਹਰੀ ਜਾਂ ਅਵਿਸ਼ਵਾਸੀ ਕੋਡ ਨਾਲ ਕੰਮ ਕਰਨ ਵੇਲੇ ਬਹੁਤ ਮਦਦਗਾਰ ਹੁੰਦਾ ਹੈ। ਗਲੋਬਲ ਸਕੋਪ ਨੂੰ ਮੁੜ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ ਸਿਰਫ ਸੈਂਡਬੌਕਸ ਵਿੱਚ ਘੋਸ਼ਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਕੋਡ ਨੂੰ ਲਾਜ਼ਮੀ ਤੌਰ 'ਤੇ ਸੀਮਤ ਕਰਕੇ ਵੇਰੀਏਬਲ ਪਹੁੰਚ 'ਤੇ ਬਿਹਤਰ ਨਿਯੰਤਰਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।

ਮੂਲ ਨੂੰ ਸੰਭਾਲਿਆ ਜਾ ਰਿਹਾ ਹੈ ਗਲੋਬਲ ਇਹ ਇੱਕ ਸਥਾਨਕ ਵੇਰੀਏਬਲ ਵਿੱਚ (ਗਲੋਬਲ ਨੂੰ ਬਚਾਇਆ) ਪਹਿਲੀ ਉਦਾਹਰਣ ਵਿੱਚ ਪ੍ਰਕਿਰਿਆ ਦਾ ਪਹਿਲਾ ਕਦਮ ਹੈ। ਇਹ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਕਦਮ ਹੈ ਕਿਉਂਕਿ, ਇੱਕ ਵਾਰ ਸੈਂਡਬੌਕਸਡ ਕੋਡ ਨੂੰ ਪੂਰਾ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਬਹਾਲ ਕੀਤਾ ਜਾਵੇਗਾ। ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਇੱਕ ਨਵੀਂ ਵਸਤੂ ਨਾਲ ਬਦਲਣ 'ਤੇ (ਇੱਥੇ, myContext), ਸਕ੍ਰਿਪਟ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ (ਇੱਥੇ, a ਅਤੇ ਬੀ) ਇਸ ਸੈਂਡਬੌਕਸ ਦੇ ਅੰਦਰ ਸਥਿਤ ਹੈ। ਜਿਵੇਂ ਕਿ ਜ਼ਿਕਰ ਕੀਤੇ ਪਹਿਲੇ ਅੰਕ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਇੱਕ ਹਵਾਲਾ ਗਲਤੀ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਜੇਕਰ ਕੁਝ ਵੇਰੀਏਬਲ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ। ਅੰਤ ਵਿੱਚ, ਦ ਅੰਤ ਵਿੱਚ ਬਲਾਕ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ, ਲਾਗੂ ਹੋਣ 'ਤੇ, ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਹਮੇਸ਼ਾ ਬਹਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਦੂਜੇ ਖੇਤਰਾਂ 'ਤੇ ਕਿਸੇ ਵੀ ਅਣਕਿਆਸੇ ਪ੍ਰਭਾਵਾਂ ਤੋਂ ਬਚਿਆ ਜਾਂਦਾ ਹੈ।

ਦੂਜੀ ਪਹੁੰਚ ਏ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਪ੍ਰੌਕਸੀ ਇਸ ਵਿਧੀ ਨੂੰ ਸੁਧਾਰਨ ਲਈ ਇਤਰਾਜ਼. JavaScript ਵਿੱਚ, ਇੱਕ ਪ੍ਰੌਕਸੀ ਪ੍ਰੋਗਰਾਮਰਾਂ ਨੂੰ ਵਸਤੂਆਂ 'ਤੇ ਕੀਤੀਆਂ ਗਈਆਂ ਕਾਰਵਾਈਆਂ ਦੀ ਮੁੜ ਵਿਆਖਿਆ ਕਰਨ ਅਤੇ ਰੋਕਣ ਲਈ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰ, ਪ੍ਰੌਕਸੀ ਪ੍ਰਾਪਰਟੀ ਐਕਸੈਸ ਲਈ ਬੇਨਤੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦੀ ਹੈ ਅਤੇ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਕਿ ਕੀ ਸੈਂਡਬੌਕਸ ਆਬਜੈਕਟ ਵਿੱਚ ਲੋੜੀਂਦੀ ਸੰਪਤੀ ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂ। ਏ ਹਵਾਲਾ ਗਲਤੀ ਇਸ ਸਥਿਤੀ ਵਿੱਚ ਸੁੱਟਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਜਾਇਦਾਦ ਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਇਹ ਗਰੰਟੀ ਦਿੰਦਾ ਹੈ ਕਿ ਕੋਈ ਬਾਹਰੀ ਵੇਰੀਏਬਲ ਪਹੁੰਚਯੋਗ ਨਹੀਂ ਹਨ। ਇਸਦੇ ਕਾਰਨ, ਇਹ ਗਲੋਬਲ ਸਕੋਪ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਇੱਕ ਗਤੀਸ਼ੀਲ ਸੈਂਡਬੌਕਸ ਸੈਟਿੰਗ ਵਿੱਚ ਵੇਰੀਏਬਲ ਪਹੁੰਚ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਇੱਕ ਮਜ਼ਬੂਤ ​​ਵਿਕਲਪ ਹੈ।

ਸੈਂਡਬੌਕਸ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਲੱਗ ਕਰਨ ਲਈ, ਤੀਜੀ ਸਕ੍ਰਿਪਟ ਇੱਕ IIFE (ਤੁਰੰਤ ਇਨਵੋਕਡ ਫੰਕਸ਼ਨ ਐਕਸਪ੍ਰੈਸ਼ਨ) ਨੂੰ ਨਿਯੁਕਤ ਕਰਦੀ ਹੈ। ਬਾਹਰੀ ਕੋਡ ਲਈ ਗਲੋਬਲ ਸੰਦਰਭ ਤੱਕ ਪਹੁੰਚ ਕਰਨਾ ਜਾਂ ਦਖਲ ਦੇਣਾ ਮੁਸ਼ਕਲ ਹੈ ਕਿਉਂਕਿ IIFE ਪੈਟਰਨ ਸਾਰੀ ਕਾਰਵਾਈ ਨੂੰ ਇਸਦੇ ਆਪਣੇ ਸਥਾਨਕ ਦਾਇਰੇ ਵਿੱਚ ਲਪੇਟਦਾ ਹੈ। ਇਹ ਵਿਧੀ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਹੈ ਕਿਉਂਕਿ ਇਹ ਗਲੋਬਲ ਬਾਹਰੀ ਦੁਨੀਆ ਦੇ ਸੰਪਰਕ ਵਿੱਚ ਨਹੀਂ ਹੈ ਅਤੇ ਸਿਰਫ IIFE ਦੇ ਅੰਦਰ ਹੀ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ। ਗਾਰੰਟੀ ਦੇ ਕੇ ਕਿ ਸਾਰੇ ਸੈਂਡਬੌਕਸਡ ਕੋਡ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ, ਇਹ ਸਕਰਿਪਟ ਦੇ ਸੰਚਾਲਨ ਵਿੱਚ ਸੁਰੱਖਿਆ ਅਤੇ ਇਕਸਾਰਤਾ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ।

ਗਲੋਬਲ JavaScript ਸੰਦਰਭ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ES6 ਮੋਡੀਊਲ ਨਾਲ ਇੱਕ ਸੈਂਡਬੌਕਸ ਬਣਾਉਣਾ

ਇਹ ਢੰਗ ਓਵਰਰਾਈਟ ਕਰਦਾ ਹੈ ਗਲੋਬਲ ਇਹ ਇੱਕ ਸੈਂਡਬੌਕਸ ਬਣਾਉਣ ਲਈ ਜੋ JavaScript (ES6) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ। ਇਹ ਫਰੰਟ-ਐਂਡ ਡਾਇਨਾਮਿਕ ਐਪਸ ਲਈ ਸੰਕਲਪ ਦਾ ਸਿੱਧਾ ਸਬੂਤ ਪੇਸ਼ ਕਰਦਾ ਹੈ।

let myContext = { a: 1, b: 2 };
let f = () => {
    let savedGlobal = globalThis;  // Save the original globalThis
    globalThis = myContext;        // Overwrite globalThis with the sandbox context
    try {
        let result = a + b;         // Attempt to access a and b within the sandbox
        return result;              // Return the calculated result
    } catch (e) {
        console.error(e);           // Catch errors, such as reference errors
    } finally {
        globalThis = savedGlobal;   // Restore the original global context
    }
};
console.log(f());

ਵਿਸਤ੍ਰਿਤ ਹੱਲ: ਗਲੋਬਲ ਪਹੁੰਚ ਨੂੰ ਰੋਕਣ ਲਈ ਪ੍ਰੌਕਸੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇਹ ਤਕਨੀਕ ਗਲੋਬਲ ਸੰਦਰਭ ਪਹੁੰਚ ਨੂੰ ਰੋਕਣ, ਸੁਰੱਖਿਆ ਅਤੇ ਮਾਡਿਊਲਰਿਟੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਇੱਕ ਪ੍ਰੌਕਸੀ ਆਬਜੈਕਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਣਜਾਣੇ ਵਿੱਚ ਪਰਿਵਰਤਨਸ਼ੀਲ ਐਕਸਪੋਜ਼ਰ ਨੂੰ ਰੋਕਦੀ ਹੈ। JavaScript ਫਰੰਟ-ਐਂਡ ਅਤੇ ਬੈਕ-ਐਂਡ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਵਰਤੋਂ ਲਈ ਉਚਿਤ।

const myContext = { a: 1, b: 2 };
const sandboxHandler = {
    get: (target, prop) => {
        if (prop in target) {
            return target[prop];
        } else {
            throw new ReferenceError(\`Property \${prop} is not defined\`);
        }
    }
};
let mySandbox = new Proxy(myContext, sandboxHandler);
let f = () => {
    let savedGlobal = globalThis;
    globalThis = mySandbox;           // Overwrite with sandbox proxy
    try {
        let result = a + b;           // Access sandbox variables safely
        return result;
    } catch (e) {
        console.error(e);
    } finally {
        globalThis = savedGlobal;      // Restore global context
    }
};
console.log(f());

ਬਿਹਤਰ ਸੰਦਰਭ ਅਲੱਗ-ਥਲੱਗ ਲਈ IIFE ਨਾਲ ਹੱਲ

ਇਹ ਵਿਧੀ ਤੁਰੰਤ ਇਨਵੋਕਡ ਫੰਕਸ਼ਨ ਐਕਸਪ੍ਰੈਸ਼ਨ (IIFE) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੈਂਡਬੌਕਸਡ ਵਾਤਾਵਰਣ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ। ਇਹ ਗਾਰੰਟੀ ਦਿੰਦਾ ਹੈ ਕਿ ਵੇਰੀਏਬਲ ਜੋ ਨਿਰਧਾਰਤ ਸੰਦਰਭ ਦੇ ਅੰਦਰ ਨਹੀਂ ਹਨ ਉਹ ਬਿਲਕੁਲ ਵੀ ਪਹੁੰਚਯੋਗ ਨਹੀਂ ਹਨ।

((globalThis) => {
    const myContext = { a: 1, b: 2 };
    const f = () => {
        let result = myContext.a + myContext.b;  // Access sandbox variables directly
        return result;
    };
    console.log(f());                // Log the result of the sandboxed function
})(globalThis);

JavaScript ਸੈਂਡਬਾਕਸਿੰਗ ਵਿੱਚ ਕਸਟਮ ਗਲੋਬਲ ਸੰਦਰਭ ਦੀ ਵਰਤੋਂ ਦਾ ਵਿਸਤਾਰ ਕਰਨਾ

ਨੌਕਰੀ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਫਾਇਦਾ globalIs ਕਈ ਸੰਦਰਭਾਂ, ਜਿਵੇਂ ਕਿ ਵੈੱਬ ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਸਰਵਰ-ਸਾਈਡ ਸਿਸਟਮ ਜਿਵੇਂ ਕਿ Node.js, ਨਾਲ ਅਨੁਕੂਲਤਾ ਇਹ ਹੈ ਇੱਕ ਸੈਂਡਬਾਕਸਿੰਗ ਸਥਿਤੀ ਵਿੱਚ. ਸੰਖੇਪ ਰੂਪ ਵਿੱਚ, ਤੁਸੀਂ ਆਪਣੇ ਕੋਡ ਦੇ ਜ਼ੋਰ ਨੂੰ ਵੇਰੀਏਬਲਾਂ ਦੇ ਇੱਕ ਨਿਯੰਤਰਿਤ ਸੰਗ੍ਰਹਿ ਵੱਲ ਮੁੜ ਰਾਊਟ ਕਰ ਰਹੇ ਹੋ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਕਸਟਮ ਸੰਦਰਭ ਦੇ ਨਾਲ ਗਲੋਬਲ ਆਬਜੈਕਟ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਸਾਡੇ ਉਦਾਹਰਣ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਜਦੋਂ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਥਰਡ-ਪਾਰਟੀ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਚਲਾਉਂਦੇ ਹੋ ਜਾਂ ਇੱਕ ਵੱਡੀ ਔਨਲਾਈਨ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਵੱਖਰੇ ਮੋਡੀਊਲ ਨੂੰ ਵੱਖ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਰਣਨੀਤੀ ਖਾਸ ਤੌਰ 'ਤੇ ਵੇਰੀਏਬਲਾਂ ਦੇ ਅੰਤਰ-ਦੂਸ਼ਣ ਨੂੰ ਰੋਕਣ ਵਿੱਚ ਮਦਦਗਾਰ ਹੋ ਸਕਦੀ ਹੈ।

ਇਹ ਤੱਥ ਕਿ JavaScript ਵਿੱਚ ES6 ਮੋਡੀਊਲ ਸਿਸਟਮ ਵਿੱਚ ਬਿਲਟ-ਇਨ ਸਕੋਪਿੰਗ ਤਕਨੀਕਾਂ ਹਨ ਜੋ ਕਿ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਅੰਸ਼ਕ ਤੌਰ 'ਤੇ ਵੱਖ ਕਰਦੀਆਂ ਹਨ ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਤੱਤ ਹੈ। ਦੂਜੇ ਪਾਸੇ, ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਾਨੂੰ ਪੂਰੀ ਗਲੋਬਲ ਸਥਿਤੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇ ਕੇ, ਇਹ ਸਾਨੂੰ ਇਸ ਤੋਂ ਪਰੇ ਜਾਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਉਹਨਾਂ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਰੋਕ ਕੇ ਜੋ ਇਸ ਨੂੰ ਅਸਲੀ ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਦੇਖਣ ਤੋਂ ਇਸ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ, ਇਹ ਨਾ ਸਿਰਫ਼ ਸੁਰੱਖਿਆ ਨੂੰ ਮਜ਼ਬੂਤ ​​ਕਰਦਾ ਹੈ ਬਲਕਿ ਗਲੋਬਲ ਵੇਰੀਏਬਲਾਂ ਦੇ ਅਣਜਾਣੇ ਵਿੱਚ ਓਵਰਰਾਈਟ ਨੂੰ ਰੋਕਣ ਵਿੱਚ ਵੀ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਧੀ ਐਪਸ ਨੂੰ ਖਤਰਨਾਕ ਜਾਂ ਗਲਤ-ਲਿਖਤ ਕੋਡ ਤੋਂ ਬਚਾਉਣ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਹੈ।

ਦੇ ਨਾਲ ES6 ਮੋਡੀਊਲ ਦਾ ਸੰਯੋਜਨ ਪ੍ਰੌਕਸੀਜ਼ ਉਹਨਾਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਸੁਰੱਖਿਆ ਨੂੰ ਹੋਰ ਵੀ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ ਜਿੱਥੇ ਤੁਹਾਨੂੰ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਕਿਹੜੇ ਭਾਗਾਂ ਨੂੰ ਗਲੋਬਲ ਆਬਜੈਕਟ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਵਧੀਆ ਨਿਯੰਤਰਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਗਲੋਬਲ ਆਬਜੈਕਟ ਦੇ ਅੰਦਰ ਖਾਸ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਫਿਲਟਰ ਕਰਕੇ, ਪ੍ਰੌਕਸੀ ਤੁਹਾਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦਿੰਦੀਆਂ ਹਨ ਕਿ ਸਿਰਫ਼ ਉਹਨਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਇਜਾਜ਼ਤ ਹੈ। ਮਲਟੀ-ਕਿਰਾਏਦਾਰ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਹਰੇਕ ਕਿਰਾਏਦਾਰ ਦੇ ਡੇਟਾ ਨੂੰ ਦੂਜੇ ਕਿਰਾਏਦਾਰਾਂ ਦੇ ਡੇਟਾ ਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇਹ ਹੱਲ ਮਾਪਯੋਗ ਹੈ ਅਤੇ ਵੱਖ-ਵੱਖ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਲਈ ਅਨੁਕੂਲ ਹੈ।

ES6 ਮੋਡੀਊਲ ਨਾਲ ਗਲੋਬਲ ਸੰਦਰਭ ਸੈਂਡਬਾਕਸਿੰਗ 'ਤੇ ਆਮ ਸਵਾਲ

  1. ਦੀ ਭੂਮਿਕਾ ਕੀ ਹੈ globalThis JavaScript ਵਿੱਚ?
  2. 'ਸੰਪੱਤੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ'; ਨਵੀਂ ਰੈਫਰੈਂਸ ਐਰਰ ਸੁੱਟੋ; - ਏ ਹਵਾਲਾ ਗਲਤੀ ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਦਸਤੀ ਸੁੱਟਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਸੈਂਡਬੌਕਸ ਦੇ ਅੰਦਰ ਪਰਿਭਾਸ਼ਿਤ ਵੇਰੀਏਬਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਚਾਨਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਕੇ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
  3. JavaScript ਵਿੱਚ ਸੈਂਡਬਾਕਸਿੰਗ ਮਹੱਤਵਪੂਰਨ ਕਿਉਂ ਹੈ?
  4. ਸੰਵੇਦਨਸ਼ੀਲ ਵੇਰੀਏਬਲਾਂ ਦੀ ਰੱਖਿਆ ਕਰਨਾ, ਅਣਅਧਿਕਾਰਤ ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਗਲੋਬਲ ਆਬਜੈਕਟ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਤੋਂ ਸੀਮਤ ਕਰਨਾ, ਅਤੇ ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਅਲੱਗ ਕਰਨਾ ਇਹ ਸਭ ਸੈਂਡਬਾਕਸਿੰਗ ਦੁਆਰਾ ਸੰਭਵ ਬਣਾਇਆ ਗਿਆ ਹੈ।
  5. ਕਿਵੇਂ ਕਰਦਾ ਹੈ Proxy ਆਬਜੈਕਟ ਸੈਂਡਬੌਕਸ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ?
  6. Proxy ਸੈਂਡਬੌਕਸ ਵਾਤਾਵਰਣ ਸੁਰੱਖਿਆ ਲਈ ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਸੰਦ ਹੈ ਕਿਉਂਕਿ ਇਹ ਪ੍ਰਾਪਰਟੀ ਐਕਸੈਸ ਨੂੰ ਰੋਕ ਸਕਦਾ ਹੈ ਅਤੇ ਸਿਰਫ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਸੀਮਤ ਕਰ ਸਕਦਾ ਹੈ।
  7. ਇੱਕ IIFE ਗਲੋਬਲ ਪ੍ਰਸੰਗਾਂ ਨੂੰ ਅਲੱਗ-ਥਲੱਗ ਕਰਨ ਵਿੱਚ ਕਿਵੇਂ ਸਹਾਇਤਾ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਸਦਾ ਕੀ ਅਰਥ ਹੈ?
  8. ਇੱਕ IIFE (ਤੁਰੰਤ ਇਨਵੋਕਡ ਫੰਕਸ਼ਨ ਐਕਸਪ੍ਰੈਸ਼ਨ) ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ, ਗਲੋਬਲ ਆਬਜੈਕਟ ਤੱਕ ਬਾਹਰੀ ਪਹੁੰਚ ਨੂੰ ਰੋਕਦਾ ਹੈ ਅਤੇ ਸੈਂਡਬੌਕਸ ਦੀ ਪੂਰੀ ਅਲੱਗਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।
  9. ਇੱਕ IIFE (ਤੁਰੰਤ ਇਨਵੋਕਡ ਫੰਕਸ਼ਨ ਐਕਸਪ੍ਰੈਸ਼ਨ) ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਅਲੱਗ ਕਰਦਾ ਹੈ, ਗਲੋਬਲ ਆਬਜੈਕਟ ਤੱਕ ਬਾਹਰੀ ਪਹੁੰਚ ਨੂੰ ਰੋਕਦਾ ਹੈ ਅਤੇ ਸੈਂਡਬੌਕਸ ਦੀ ਪੂਰੀ ਅਲੱਗਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  10. ਨਾਪਸੰਦ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ with ਬਿਆਨ. ਸਮਕਾਲੀ ਬਦਲ ਜਿਵੇਂ ਕਿ globalThis ਅਤੇ Proxy ਵਸਤੂਆਂ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਅਤੇ ਸੁਰੱਖਿਅਤ ਵਿਕਲਪ ਪੇਸ਼ ਕਰਦੀਆਂ ਹਨ।

ਇੱਕ ਸੁਰੱਖਿਅਤ JavaScript ਸੈਂਡਬਾਕਸ ਬਣਾਉਣ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ

GlobalThis ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸੈਂਡਬੌਕਸ ਸੈੱਟਅੱਪ ਕਰਨਾ ES6 ਮੋਡੀਊਲ ਵਿੱਚ ਪਰਿਵਰਤਨਸ਼ੀਲ ਪਹੁੰਚ ਨੂੰ ਪ੍ਰਬੰਧਨਯੋਗ ਅਤੇ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਨਿਯੰਤ੍ਰਿਤ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਕਨੀਕ ਹੈ। ਇਹ ਅਵਿਸ਼ਵਾਸੀ ਕੋਡ ਨੂੰ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਚਲਾਉਣਾ ਸੰਭਵ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਮਹੱਤਵਪੂਰਨ ਗਲੋਬਲ ਵੇਰੀਏਬਲਾਂ ਦੀ ਸੁਰੱਖਿਆ ਦੀ ਗਰੰਟੀ ਦਿੰਦਾ ਹੈ।

ਇਹ ਵਿਧੀ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੇ ਗਲੋਬਲ ਸੰਦਰਭ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ ਜਦੋਂ ਇਸਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਪ੍ਰੌਕਸੀਜ਼. ਇਹ ਤਕਨੀਕ ਗੈਰ-ਸੈਂਡਬਾਕਸਡ ਵੇਰੀਏਬਲਾਂ ਤੱਕ ਅਣਅਧਿਕਾਰਤ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਕੇ ਇੱਕ ਸੁਰੱਖਿਅਤ ਵਾਤਾਵਰਣ ਬਣਾਉਂਦਾ ਹੈ-ਖਾਸ ਕਰਕੇ ਗੁੰਝਲਦਾਰ ਜਾਂ ਬਹੁ-ਕਿਰਾਏਦਾਰ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ।

JavaScript ਸੰਦਰਭ ਅਤੇ ਸੈਂਡਬਾਕਸਿੰਗ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
  1. 'ਤੇ ਵਿਸਤ੍ਰਿਤ ਦਸਤਾਵੇਜ਼ ਗਲੋਬਲ ਇਹ ਵਸਤੂ ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਨੂੰ MDN ਵੈੱਬ ਡੌਕਸ ਤੋਂ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਸੀ। ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਕਿਵੇਂ ਗਲੋਬਲ ਇਹ ਗਲੋਬਲ ਆਬਜੈਕਟ ਲਈ ਇੱਕ ਵਿਆਪਕ ਸੰਦਰਭ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਅਤੇ ਸੁਰੱਖਿਆ ਉਦੇਸ਼ਾਂ ਲਈ ਇਸਨੂੰ ਕਿਵੇਂ ਓਵਰਰਾਈਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। MDN ਵੈੱਬ ਡੌਕਸ - ਗਲੋਬਲ ਇਹ
  2. ਵਰਤਣ ਬਾਰੇ ਸੇਧ ਦਿੱਤੀ ਪ੍ਰੌਕਸੀ ਆਬਜੈਕਟ ਸੈਂਡਬਾਕਸਿੰਗ ਸੁਰੱਖਿਆ ਨੂੰ ਵਧਾਉਣ ਅਤੇ ਆਬਜੈਕਟ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕਣ ਲਈ ਅਧਿਕਾਰਤ ECMAScript ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਅਨੁਕੂਲਿਤ ਕੀਤਾ ਗਿਆ ਸੀ। ECMAScript ਪ੍ਰੌਕਸੀ ਆਬਜੈਕਟ
  3. ਸੁਰੱਖਿਅਤ ਕੋਡਿੰਗ ਅਭਿਆਸਾਂ ਲਈ OWASP ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਾਂ ਤੋਂ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨ ਸੁਰੱਖਿਆ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ JavaScript ਵਿੱਚ ਸੈਂਡਬਾਕਸਿੰਗ ਅਤੇ ਸੰਦਰਭ ਅਲੱਗ-ਥਲੱਗ ਬਾਰੇ ਆਮ ਧਾਰਨਾਵਾਂ ਦੀ ਸਮੀਖਿਆ ਕੀਤੀ ਗਈ ਸੀ। OWASP ਸੁਰੱਖਿਅਤ ਕੋਡਿੰਗ ਅਭਿਆਸ