VPN CORS ਨੂੰ ਬੰਦ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਇਹ ਜਵਾਬ ਬਦਲਦਾ ਹੈ
ਨਵਾਂ ਐਗਜ਼ਿਟ ਪਤਾ ਦੋ ਉਤਪਤੀਆਂ ਨੂੰ ਇੱਕੋ ਨਹੀਂ ਬਣਾਉਂਦਾ। ਦੋਵੇਂ ਰਾਹਾਂ ’ਤੇ ਜਵਾਬ ਹੈਡਰ ਕੈਪਚਰ ਕਰੋ ਅਤੇ CORS ਦੇ ਲਾਗੂਕਰਨ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਲਨਾ ਕਰੋ।
ਇੱਕੋ ਸਮੇਂ ਬਦਲੀਆਂ ਦੋ ਚੀਜ਼ਾਂ ਨੂੰ ਅਲੱਗ ਕਰਕੇ ਸ਼ੁਰੂ ਕਰੋ: ਨੈੱਟਵਰਕ ਰਾਹ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਲਾਗੂਕਰਨ। VPN ਐਗਜ਼ਿਟ ਪਤਾ ਬਦਲਦਾ ਹੈ; ਇਹ ਪੇਜ ਦੀ ਉਤਪਤੀ ਨਹੀਂ ਬਦਲਦਾ, ਜੋ ਸਕੀਮ, ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਨਾਲ ਬਣਦੀ ਹੈ। ਜੇ ਬੇਨਤੀ ਹੁਣ ਸਫਲ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਜਵਾਬ ਵਿੱਚ ਕੁਝ ਬਦਲਿਆ ਹੈ, ਜਾਂ ਬੇਨਤੀ ਆਪ ਬਦਲ ਗਈ ਹੈ। ਕਿਹੜਾ ਇਹ ਪਤਾ ਲਾਉਣਾ ਹੀ ਪੂਰੀ ਜਾਂਚ ਹੈ।
CORS ਇੱਕ ਹੈਡਰ ਪ੍ਰੋਟੋਕੋਲ ਹੈ ਜਿਸਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਨੈੱਟਵਰਕ ਰਾਹ ਉੱਤੇ ਕੁਝ ਵੀ ਇਸਨੂੰ ਬੰਦ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਉਤਪਤੀ ਕੋਈ IP ਪਤਾ ਨਹੀਂ ਹੈ
ਉਤਪਤੀ ਇੱਕ ਸਕੀਮ, ਇੱਕ ਹੋਸਟ ਅਤੇ ਇੱਕ ਪੋਰਟ ਹੈ। ਇਹ ਉਹ ਪਤਾ ਨਹੀਂ ਜਿੱਥੋਂ ਪੈਕਟ ਨਿਕਲਦੇ ਹਨ, ਅਤੇ ਇਹ ਉਹ IP ਵੀ ਨਹੀਂ ਜੋ ਸਰਵਰ ਦੇਖਦਾ ਹੈ। ਇਸੇ ਲਈ VPN ਹਰ ਦਿਖਣ ਯੋਗ ਪਤਾ ਬਦਲ ਸਕਦਾ ਹੈ ਅਤੇ ਉਤਪਤੀ ਇੱਕੋ ਜਿਹੀ ਛੱਡ ਸਕਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਜਵਾਬ ਦੇ Access-Control-Allow-Origin ਦੀ ਤੁਲਨਾ ਪੇਜ ਦੀ ਉਤਪਤੀ ਨਾਲ ਕਰਦਾ ਹੈ, ਅਤੇ ਐਗਜ਼ਿਟ ਪਤਾ ਉਸ ਤੁਲਨਾ ਵਿੱਚ ਕਦੇ ਨਹੀਂ ਆਉਂਦਾ।
ਇਸ ਲਈ CORS ਗਲਤੀ ਠੀਕ ਕਰਦਾ ਦਿਸਣ ਵਾਲਾ ਐਕਸਟੈਂਸ਼ਨ ਜਾਂ ਪ੍ਰੌਕਸੀ ਕੁਝ ਹੋਰ ਕਰਦਾ ਹੈ: ਹੈਡਰ ਮੁੜ ਲਿਖਦਾ ਹੈ, ਜਾਂ ਬੇਨਤੀ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਰੂਟ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਹੁਣ ਕ੍ਰਾਸ-ਓਰੀਜਿਨ ਨਾ ਰਹੇ। ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ VPN ਦਾ ਗੁਣ ਨਹੀਂ।
ਬ੍ਰਾਊਜ਼ਰ ਅਸਲ ਵਿੱਚ ਕੀ ਭੇਜਦਾ ਹੈ
ਜੋ ਕ੍ਰਾਸ-ਓਰੀਜਿਨ ਬੇਨਤੀ ਸਧਾਰਨ ਨਹੀਂ, ਉਸ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਪਹਿਲਾਂ ਪ੍ਰੀ-ਫਲਾਈਟ OPTIONS ਭੇਜਦਾ ਹੈ, ਜੋ ਇੱਛਤ ਮੈਥਡ ਅਤੇ ਹੈਡਰ ਲੈ ਜਾਂਦਾ ਹੈ। ਸਰਵਰ ਨੂੰ ਆਪਣੀਆਂ ਮਨਜ਼ੂਰ ਇਜਾਜ਼ਤਾਂ ਨਾਲ ਜਵਾਬ ਦੇਣਾ ਪੈਂਦਾ ਹੈ, ਅਤੇ ਅਸਲ ਬੇਨਤੀ ਤਾਂ ਹੀ ਅੱਗੇ ਵਧਦੀ ਹੈ ਜੇ ਉਹ ਜਵਾਬ ਨਿਯਮ ਪੂਰੇ ਕਰੇ। VPN ਦੋਵੇਂ ਅਦਾਨ-ਪ੍ਰਦਾਨ ਲੈ ਜਾਣ ਵਾਲਾ ਰਾਹ ਬਦਲਦਾ ਹੈ ਅਤੇ ਵਿਚਕਾਰਲੀਆਂ ਸੇਵਾਵਾਂ ਕੀ ਜਵਾਬ ਦਿੰਦੀਆਂ ਹਨ, ਇਹ ਬਦਲ ਸਕਦਾ ਹੈ। ਪਰ ਇਹ ਉਤਪਤੀ ਦੀ ਸਤਰ ਜਾਂ ਪ੍ਰੀ-ਫਲਾਈਟ ਦੀ ਸ਼ਰਤ ਨਹੀਂ ਬਦਲਦਾ।
ਕਮਾਂਡ-ਲਾਈਨ ਕਲਾਇੰਟ ਆਮ ਤੌਰ ’ਤੇ ਇਸ ਵਿੱਚੋਂ ਕੁਝ ਨਹੀਂ ਦਿਖਾਉਂਦਾ। ਇਹ Origin ਹੈਡਰ ਨਾ ਵੀ ਭੇਜੇ, ਅਕਸਰ ਪ੍ਰੀ-ਫਲਾਈਟ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਵੱਖਰੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਲੈ ਜਾ ਸਕਦਾ ਹੈ। curl ਨੂੰ ਵਾਪਸ ਦਿੱਤਾ ਬਾਡੀ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਨੇ curl ਨੂੰ ਜਵਾਬ ਦਿੱਤਾ।
ਜੋ ਜਵਾਬ ਬਦਲਿਆ ਉਹ ਲੱਭੋ
ਸਿਰਫ਼ ਸਥਿਤੀ ਕੋਡ ਨਹੀਂ, ਹਰ ਰਾਹ ਦੇ ਅਸਲ ਜਵਾਬ ਦੀ ਤੁਲਨਾ ਕਰੋ। CORS ਇਜਾਜ਼ਤਾਂ ਲੈ ਜਾਣ ਵਾਲੇ ਹੈਡਰ, ਸਮੱਗਰੀ ਦੀ ਕਿਸਮ, ਕੋਈ ਵੀ ਰੀਡਾਇਰੈਕਟ, ਅਤੇ ਇਹ ਕਿ WAF ਜਾਂ CDN ਵੈਰੀਐਂਟ ਨੇ ਵੱਖਰਾ ਪੇਜ ਬਣਾਇਆ ਜਾਂ ਨਹੀਂ—ਇਹ ਦੇਖੋ। ਖੇਤਰੀ ਇਨਕਾਰ, ਪ੍ਰਮਾਣੀਕਰਨ ਰੀਡਾਇਰੈਕਟ ਜਾਂ ਇਜਾਜ਼ਤ-ਹੈਡਰ ਤੋਂ ਬਿਨਾਂ ਗਲਤੀ ਪੇਜ—ਸਭ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਫੇਲ ਹੁੰਦੇ ਹਨ ਜਦੋਂ ਕਿ CORS ਬੱਗ ਵਰਗੇ ਦਿਸਦੇ ਹਨ। ਇਹ ਡਿਲਿਵਰੀ-ਰਾਹ ਦੇ ਫ਼ਰਕ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਨੂੰ ਹੀ ਦਸਤਾਵੇਜ਼ ਕਰਨਾ ਹੈ।
ਦੋਵੇਂ ਰਾਹਾਂ ਦੇ ਜਵਾਬ ਹੈਡਰ ਕੈਪਚਰ ਕਰੋ ਅਤੇ ਲਾਈਨ ਦਰ ਲਾਈਨ ਤੁਲਨਾ ਕਰੋ। ਜੇ ਇੱਕੋ ਇੱਕ ਫ਼ਰਕ ਇੱਕ ਗਲਤੀ ਪੇਜ ’ਤੇ Access-Control-Allow-Origin ਦਾ ਨਾ ਹੋਣਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਕਾਰਨ ਲੱਭ ਲਿਆ।
ਲਾਗੂਕਰਨ ਨਹੀਂ, ਸੇਵਾ ਠੀਕ ਕਰੋ
ਜਦੋਂ ਸੇਵਾ ਤੁਹਾਡੀ ਹੋਵੇ, ਤਾਂ ਮਨਜ਼ੂਰ ਉਤਪਤੀਆਂ ਅਤੇ ਬੇਨਤੀ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸਪਸ਼ਟ ਦੱਸੋ, ਫਿਰ ਇਸਦੇ ਫਰੰਟਐਂਡ ਅਤੇ ਵਿਚੋਲਿਆਂ ਵੱਲੋਂ ਪੈਦਾ ਕੀਤੀਆਂ ਗਲਤੀਆਂ ਪੜ੍ਹੋ। ਨਾ ਕਰੋ ਤਾਂ ਸੇਵਾ ਮਾਲਕ ਨੂੰ ਸਾਫ਼ ਕੀਤੀ ਤੁਲਨਾ ਭੇਜੋ। ਉਸ ਰਿਪੋਰਟ ਵਿੱਚ ਕਦੇ ਕੂਕੀਜ਼, ਅਧਿਕਾਰ ਹੈਡਰ ਜਾਂ ਸੈਸ਼ਨ ਨਿਰਯਾਤ ਸ਼ਾਮਲ ਨਾ ਕਰੋ, ਕਿਉਂਕਿ ਨੀਤੀ ਉਹਨਾਂ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਹੈ।
CORS ਬੰਦ ਕਰਨ ਵਾਲੇ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਤੋਂ ਬਚੋ। ਉਹ ਸੁਰੱਖਿਆ ਸੀਮਾ ਬਦਲਦੇ ਹਨ ਅਤੇ ਉਹ ਜਵਾਬ-ਫ਼ਰਕ ਲੁਕਾਉਂਦੇ ਹਨ ਜਿਸਦੀ ਵਿਆਖਿਆ ਕਰਨੀ ਸੀ, ਅਤੇ ਹਰ ਦੂਜੇ ਵਰਤੋਂਕਾਰ ਲਈ ਉਹੀ ਫੇਲ੍ਹਤਾ ਛੱਡ ਦਿੰਦੇ ਹਨ।
ਦੋਵੇਂ ਜਵਾਬ, ਵਰਤੀ ਉਤਪਤੀ ਅਤੇ ਲਿਆ ਰਾਹ ਦਰਜ ਕਰੋ। ਉਹ ਰਿਕਾਰਡ VPN ਅਫ਼ਵਾਹ ਨੂੰ ਸੇਵਾ ਬੱਗ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।