ਗਾਈਡਾਂ

ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਅਤੇ ਸੀਕ੍ਰੇਟ ਕੀ ਹਨ? ਇੱਕ ਸਰਲ ਗਾਈਡ

ਇੱਕ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਇੱਕ ਨਾਮ ਵਾਲੀ ਸੈਟਿੰਗ ਹੈ, ਜਿਵੇਂ DATABASE_URL ਜਾਂ STRIPE_SECRET_KEY, ਜੋ ਤੁਹਾਡੀ ਐਪ ਚੱਲਣ ਸਮੇਂ ਉਸਨੂੰ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਨਾ ਕਿ ਕੋਡ ਵਿੱਚ ਲਿਖੀ ਜਾਂਦੀ ਹੈ। ਇੱਕ ਸੀਕ੍ਰੇਟ ਇੱਕ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਹੈ ਜਿਸਦੀ ਕੀਮਤ ਨਿੱਜੀ ਰਹਿਣੀ ਜ਼ਰੂਰੀ ਹੈ: ਇੱਕ API ਕੁੰਜੀ, ਇੱਕ ਪਾਸਵਰਡ ਜਾਂ ਇੱਕ ਸਾਈਨਿੰਗ ਕੁੰਜੀ। ਇਹ ਕੀਮਤਾਂ ਕੋਡ ਤੋਂ ਬਾਹਰ ਰੱਖਣ ਨਾਲ ਤੁਸੀਂ ਐਪ ਵਿੱਚ ਤਬਦੀਲੀ ਕੀਤੇ ਬਿਨਾਂ ਇਹਨਾਂ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ, ਟੈਸਟਿੰਗ ਅਤੇ ਅਸਲ ਗਾਹਕਾਂ ਲਈ ਵੱਖ-ਵੱਖ ਕੀਮਤਾਂ ਵਰਤ ਸਕਦੇ ਹੋ, ਅਤੇ ਜਦੋਂ ਤੁਸੀਂ ਕੋਡ ਸਾਂਝਾ ਜਾਂ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦੇ ਹੋ ਤਾਂ ਇਹਨਾਂ ਨੂੰ ਲੀਕ ਹੋਣ ਤੋਂ ਰੋਕ ਸਕਦੇ ਹੋ।

ਏਆਈ ਨਾਲ ਬਣਾਉਂਦੇ ਸਮੇਂ ਇਹ ਕਿਉਂ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ

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

ਏਆਈ ਨਾਲ ਬਣੀਆਂ ਐਪਾਂ ਵਿੱਚ ਦੋ ਗੱਲਾਂ ਅਕਸਰ ਗਲਤ ਹੋ ਜਾਂਦੀਆਂ ਹਨ:

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

ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਨੂੰ ਸਮਝਣ ਨਾਲ ਤੁਸੀਂ ਦੋਵੇਂ ਗਲਤੀਆਂ ਪਛਾਣ ਸਕਦੇ ਹੋ, ਅਤੇ ਠੀਕ ਕਰਨ ਲਈ ਕਹਿ ਸਕਦੇ ਹੋ।

ਰੋਜ਼ਾਨਾ ਦੀ ਮਿਸਾਲ: ਹੋਟਲ ਦਾ ਸੇਫ਼

ਤੁਹਾਡੀ ਐਪ ਦਾ ਕੋਡ ਹੋਟਲ ਦੇ ਕਮਰੇ ਵਰਗਾ ਹੈ। ਮਹਿਮਾਨ (ਅਤੇ ਸਫ਼ਾਈ ਕਰਨ ਵਾਲੇ, ਅਤੇ ਜਿਸ ਨੂੰ ਵੀ ਤੁਸੀਂ ਕਾਰਡ ਦਿੱਤਾ ਹੋਵੇ) ਉਸ ਵਿੱਚੋਂ ਲੰਘਦੇ ਹਨ। ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਪੋਰਟ ਮੇਜ਼ 'ਤੇ ਨਹੀਂ ਛੱਡਦੇ।

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

ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ

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

ਕੀਮਤਾਂ ਕਿੱਥੋਂ ਆਉਂਦੀਆਂ ਹਨ, ਇਹ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਐਪ ਕਿੱਥੇ ਚੱਲਦੀ ਹੈ:

ਐਪ ਕਿੱਥੇ ਚੱਲਦੀ ਹੈਕੀਮਤਾਂ ਕਿੱਥੇ ਰੱਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ
ਡਿਵੈਲਪਰ ਦੇ ਲੈਪਟਾਪ 'ਤੇਇੱਕ ਲੋਕਲ ਫਾਈਲ, ਆਮ ਤੌਰ 'ਤੇ .env ਨਾਮ ਦੀ, ਜੋ ਕਦੇ ਵੀ git ਵਿੱਚ ਕਮਿਟ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ
ਏਆਈ ਬਿਲਡਰ ਦੇ ਪ੍ਰੀਵਿਊ ਵਿੱਚਪ੍ਰੋਜੈਕਟ ਦਾ ਸੀਕ੍ਰੇਟ ਜਾਂ ਸੈਟਿੰਗਾਂ ਪੈਨਲ
ਹੋਸਟਿੰਗ ਪਲੇਟਫਾਰਮ 'ਤੇਉਸ ਪਲੇਟਫਾਰਮ ਦੀਆਂ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਸੈਟਿੰਗਾਂ
GitHub Actions ਜਾਂ ਹੋਰ ਆਟੋਮੇਸ਼ਨ ਵਿੱਚਉਸ ਸੇਵਾ ਦਾ ਆਪਣਾ ਏਨਕ੍ਰਿਪਟਿਡ ਸੀਕ੍ਰੇਟ ਸਟੋਰ

ਜਨਤਕ ਅਤੇ ਸੀਕ੍ਰੇਟ ਵੇਰੀਏਬਲ

ਹਰ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਸੀਕ੍ਰੇਟ ਨਹੀਂ ਹੁੰਦਾ। ਇਹਨਾਂ ਨੂੰ ਦੋ ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡਣਾ ਮਦਦਗਾਰ ਹੈ:

ਕਿਸਮਉਦਾਹਰਨਾਂਕੀ ਬਰਾਊਜ਼ਰ ਇਸਨੂੰ ਵੇਖ ਸਕਦਾ ਹੈ?
ਜਨਤਕ ਸੰਰਚਨਾਸਾਈਟ ਦਾ ਨਾਮ, ਜਨਤਕ ਐਨਾਲਿਟਿਕਸ ID, Stripe ਦੀ publishable ਕੁੰਜੀ, ਫੀਚਰ ਸਵਿੱਚਹਾਂ, ਇਹ ਠੀਕ ਹੈ
ਸੀਕ੍ਰੇਟStripe ਦੀ secret ਕੁੰਜੀ, OpenAI ਜਾਂ Anthropic API ਕੁੰਜੀ, ਡਾਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਸਟਰਿੰਗ, ਈਮੇਲ ਪ੍ਰਦਾਤਾ ਦੀ ਕੁੰਜੀ, ਵੈੱਬਹੁੱਕ ਸਾਈਨਿੰਗ ਸੀਕ੍ਰੇਟਕਦੇ ਨਹੀਂ

ਵੈੱਬ ਫਰੇਮਵਰਕ ਇਹ ਵੰਡ ਸਾਫ਼ ਰੱਖਦੇ ਹਨ। Vite ਵਿੱਚ ਸਿਰਫ਼ ਉਹ ਵੇਰੀਏਬਲ ਬਰਾਊਜ਼ਰ ਕੋਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਦੇ ਨਾਮ VITE_ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ; Next.js ਵਿੱਚ ਇਹ ਪ੍ਰੀਫਿਕਸ NEXT_PUBLIC_ ਹੈ। ਇਹ ਇੱਕ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ: ਜਿਸ ਕਿਸੇ ਨੂੰ ਇਹ ਪ੍ਰੀਫਿਕਸ ਮਿਲਦਾ ਹੈ, ਉਹ ਹਰ ਵਿਜ਼ਿਟਰ ਵੱਲੋਂ ਡਾਊਨਲੋਡ ਹੋਣ ਵਾਲੀਆਂ ਫਾਈਲਾਂ ਵਿੱਚ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਸੀਕ੍ਰੇਟ ਨੂੰ ਕਦੇ ਵੀ ਇਹ ਪ੍ਰੀਫਿਕਸ ਨਹੀਂ ਦੇਣਾ ਚਾਹੀਦਾ।

ਇੱਕ ਕੰਮ ਦੀ ਮਿਸਾਲ: ਏਆਈ ਸਾਰ ਬਟਨ

ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ “ਇਸ ਨੋਟ ਦਾ ਸਾਰ ਦਿਓ” ਵਾਲਾ ਬਟਨ ਇੱਕ ਏਆਈ ਮਾਡਲ ਨੂੰ ਕਾਲ ਕਰੇ।

ਅਸੁਰੱਖਿਅਤ ਤਰੀਕਾ: ਬਟਨ ਦਾ ਕੋਡ, ਜੋ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ, ਏਆਈ ਪ੍ਰਦਾਤਾ ਨੂੰ ਸਿੱਧਾ ਕਾਲ ਕਰਦਾ ਹੈ ਅਤੇ API ਕੁੰਜੀ ਉਸ ਵਿੱਚ ਲਿਖੀ ਹੁੰਦੀ ਹੈ। ਇਹ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ। ਪਰ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕੋਈ ਵੀ ਡਿਵੈਲਪਰ ਟੂਲ ਖੋਲ੍ਹ ਕੇ ਕੁੰਜੀ ਕਾਪੀ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਖਾਤੇ 'ਤੇ ਬਿੱਲ ਵਧਾ ਸਕਦਾ ਹੈ।

ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ:

  1. ਤੁਸੀਂ ਏਆਈ ਪ੍ਰਦਾਤਾ 'ਤੇ ਕੁੰਜੀ ਬਣਾਉਂਦੇ ਹੋ ਅਤੇ ਉਸਨੂੰ ਆਪਣੀਆਂ ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ ਵਿੱਚ OPENAI_API_KEY (ਜਾਂ ਮਿਲਦੇ-ਜੁਲਦੇ ਨਾਮ) ਵਾਲੇ ਸੀਕ੍ਰੇਟ ਵਜੋਂ ਸੰਭਾਲਦੇ ਹੋ।
  2. ਬੈਕਐਂਡ ਵਿੱਚ ਇੱਕ ਰੂਟ ਹੁੰਦਾ ਹੈ, POST /api/summarise, ਜੋ process.env.OPENAI_API_KEY ਪੜ੍ਹਦਾ ਹੈ, ਜਾਂਚਦਾ ਹੈ ਕਿ ਯੂਜ਼ਰ ਲੌਗਇਨ ਹੈ, ਅਤੇ ਫਿਰ ਪ੍ਰਦਾਤਾ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ।
  3. ਬਟਨ ਪ੍ਰਦਾਤਾ ਨੂੰ ਨਹੀਂ, ਤੁਹਾਡੇ ਰੂਟ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। ਬਰਾਊਜ਼ਰ ਕਦੇ ਵੀ ਕੁੰਜੀ ਨਹੀਂ ਵੇਖਦਾ।
  4. ਤੁਸੀਂ ਉਹੀ ਸੀਕ੍ਰੇਟ ਪ੍ਰਕਾਸ਼ਿਤ ਐਪ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜੋੜਦੇ ਹੋ ਅਤੇ ਮੁੜ ਡਿਪਲੌਏ ਕਰਦੇ ਹੋ, ਤਾਂ ਜੋ ਲਾਈਵ ਸਾਈਟ ਕੋਲ ਵੀ ਉਹ ਹੋਵੇ।

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

ਮੁੱਖ ਸ਼ਬਦ

  • .env ਫਾਈਲ: NAME=value ਲਾਈਨਾਂ ਵਾਲੀ ਟੈਕਸਟ ਫਾਈਲ, ਜੋ ਲੋਕਲ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਸਨੂੰ .gitignore ਵਿੱਚ ਲਿਖੋ ਤਾਂ ਕਿ ਇਹ ਕਮਿਟ ਨਾ ਹੋਵੇ।
  • .env.example: ਇਸਦੀ ਨਕਲ ਜਿਸ ਵਿੱਚ ਨਾਮ ਹੁੰਦੇ ਹਨ ਪਰ ਅਸਲ ਕੀਮਤਾਂ ਨਹੀਂ, ਅਤੇ ਜੋ ਕਮਿਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਕਿ ਦੂਜਿਆਂ ਨੂੰ ਪਤਾ ਲੱਗੇ ਕਿ ਕਿਹੜੇ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰਨੇ ਹਨ।
  • ਰੋਟੇਟ ਕਰਨਾ: ਸੀਕ੍ਰੇਟ ਨੂੰ ਨਵੇਂ ਨਾਲ ਬਦਲਣਾ ਅਤੇ ਪੁਰਾਣੇ ਨੂੰ ਰੱਦ ਕਰਨਾ।
  • ਸਕੋਪ / ਇਜਾਜ਼ਤਾਂ: ਕਈ ਪ੍ਰਦਾਤਾ ਤੁਹਾਨੂੰ ਅਜਿਹੀਆਂ ਕੁੰਜੀਆਂ ਬਣਾਉਣ ਦਿੰਦੇ ਹਨ ਜੋ ਸਿਰਫ਼ ਕੁਝ ਕੰਮ ਕਰ ਸਕਣ। ਜੋ ਕੁੰਜੀ ਸਿਰਫ਼ ਈਮੇਲ ਭੇਜ ਸਕਦੀ ਹੈ ਉਹ ਉਸ ਤੋਂ ਘੱਟ ਖ਼ਤਰਨਾਕ ਹੈ ਜੋ ਸਭ ਕੁਝ ਕਰ ਸਕਦੀ ਹੈ।
  • ਟੈਸਟ ਬਨਾਮ ਲਾਈਵ ਕੁੰਜੀਆਂ: Stripe ਵਰਗੇ ਪ੍ਰਦਾਤਾ ਟੈਸਟਿੰਗ ਅਤੇ ਅਸਲ ਪੈਸੇ ਲਈ ਵੱਖ-ਵੱਖ ਕੁੰਜੀਆਂ ਦਿੰਦੇ ਹਨ। ਲਾਂਚ ਤੱਕ ਟੈਸਟ ਕੁੰਜੀਆਂ ਵਰਤੋ।
  • ਸਾਈਨਿੰਗ ਸੀਕ੍ਰੇਟ: ਇੱਕ ਸੀਕ੍ਰੇਟ ਜੋ ਇਹ ਜਾਂਚਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੋਈ ਸੁਨੇਹਾ, ਜਿਵੇਂ ਵੈੱਬਹੁੱਕ, ਸੱਚਮੁੱਚ ਭੇਜਣ ਵਾਲੇ ਤੋਂ ਆਇਆ ਹੈ।

ਆਮ ਗਲਤੀਆਂ ਅਤੇ ਗਲਤਫਹਿਮੀਆਂ

  • “ਮੇਰਾ ਰਿਪੋਜ਼ਟਰੀ ਪ੍ਰਾਈਵੇਟ ਹੈ, ਇਸ ਲਈ ਉਸ ਵਿੱਚ ਕੁੰਜੀਆਂ ਠੀਕ ਹਨ।” ਪ੍ਰਾਈਵੇਟ ਰਿਪੋਜ਼ਟਰੀ ਵੀ ਸਾਂਝੀਆਂ, ਫੋਰਕ, ਐਕਸਪੋਰਟ ਅਤੇ ਲੈਪਟਾਪਾਂ 'ਤੇ ਕਲੋਨ ਹੁੰਦੀਆਂ ਹਨ। ਕੁੰਜੀਆਂ ਉੱਥੇ ਵੀ ਨਹੀਂ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ। ਜੇ ਤੁਸੀਂ ਪ੍ਰੋਜੈਕਟ ਨੂੰ GitHub ਨਾਲ ਜੋੜਦੇ ਹੋ, ਤਾਂ ਜਾਂਚੋ ਕਿ ਕੋਈ .env ਫਾਈਲ ਸ਼ਾਮਲ ਨਾ ਹੋਵੇ।
  • “ਮੈਂ ਇਸਨੂੰ ਮਿਟਾ ਦਿੱਤਾ, ਤਾਂ ਇਹ ਖ਼ਤਮ ਹੋ ਗਿਆ।” Git ਇਤਿਹਾਸ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਚੈਟ ਲੌਗ ਸੁਨੇਹੇ ਰੱਖਦੇ ਹਨ। ਜੇ ਕੋਈ ਕੁੰਜੀ ਕਦੇ ਵੀ ਲੀਕ ਹੋਈ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਰੋਟੇਟ ਕਰੋ।
  • ਸੀਕ੍ਰੇਟ 'ਤੇ ਪਬਲਿਕ ਪ੍ਰੀਫਿਕਸ ਲਗਾਉਣਾ। VITE_OPENAI_KEY ਤੁਹਾਡੀ ਕੁੰਜੀ ਬਰਾਊਜ਼ਰ ਬੰਡਲ ਵਿੱਚ ਪਾ ਦਿੰਦਾ ਹੈ।
  • ਮੁੜ ਡਿਪਲੌਏ ਕਰਨਾ ਭੁੱਲਣਾ। ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਵੇਰੀਏਬਲ ਬਦਲਣ ਨਾਲ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਹੀ ਅਸਰ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਐਪ ਰੀਸਟਾਰਟ ਜਾਂ ਦੁਬਾਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਹੁੰਦੀ ਹੈ।
  • ਹਰ ਚੀਜ਼ ਲਈ ਇੱਕੋ ਕੁੰਜੀ। ਟੈਸਟ ਅਤੇ ਲਾਈਵ ਲਈ ਅਤੇ ਹਰ ਐਪ ਲਈ ਵੱਖਰੀਆਂ ਕੁੰਜੀਆਂ ਰੱਖਣ ਨਾਲ ਇੱਕ ਨੂੰ ਰੱਦ ਕਰਨਾ ਬਾਕੀਆਂ ਨੂੰ ਤੋੜਦਾ ਨਹੀਂ।
  • ਕੋਈ ਖਰਚ ਸੀਮਾ ਨਾ ਹੋਣਾ। ਭੁਗਤਾਨਸ਼ੁਦਾ APIs ਲਈ, ਕੁੰਜੀ ਲੀਕ ਹੋਣ ਦੀ ਸੂਰਤ ਵਿੱਚ ਪ੍ਰਦਾਤਾ ਦੇ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਬਜਟ ਜਾਂ ਸੀਮਾ ਤੈਅ ਕਰੋ।

ਆਪਣੇ ਏਆਈ ਬਿਲਡਰ ਤੋਂ ਕੀ ਮੰਗਣਾ ਹੈ

  • “STRIPE_SECRET_KEY ਨਾਮ ਦੇ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਤੋਂ Stripe ਦੀ ਸੀਕ੍ਰੇਟ ਕੁੰਜੀ ਪੜ੍ਹੋ। ਇਸਨੂੰ ਸਿਰਫ਼ ਸਰਵਰ 'ਤੇ ਵਰਤੋ।”
  • “ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਕਲਾਇੰਟ-ਸਾਈਡ ਕੋਡ ਵਿੱਚ ਕੋਈ ਸੀਕ੍ਰੇਟ ਨਾ ਵਰਤਿਆ ਜਾਵੇ ਜਾਂ ਉਸਨੂੰ VITE_ / NEXT_PUBLIC_ ਪ੍ਰੀਫਿਕਸ ਨਾ ਦਿੱਤਾ ਜਾਵੇ।”
  • “ਇੱਕ .env.example ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਐਪ ਲਈ ਲੋੜੀਂਦੇ ਹਰ ਵੇਰੀਏਬਲ ਦੇ ਨਾਮ ਹੋਣ, ਬਿਨਾਂ ਕੀਮਤਾਂ ਦੇ, ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ .env git-ignored ਹੋਵੇ।”
  • “ਬਣੀਆਂ ਫਰੰਟਐਂਡ ਫਾਈਲਾਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਅਜਿਹੀ ਸਤਰ ਦੀ ਜਾਂਚ ਕਰੋ ਜੋ API ਕੁੰਜੀ ਵਰਗੀ ਲੱਗਦੀ ਹੋਵੇ।”

ਸਾਡੀ AI ਨਾਲ ਬਣੀਆਂ ਐਪਾਂ ਲਈ ਸੁਰੱਖਿਆ ਚੈੱਕਲਿਸਟ ਲਾਂਚ ਤੋਂ ਪਹਿਲਾਂ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਹੋਰ ਜਾਂਚਾਂ ਦੇ ਨਾਲ ਸੀਕ੍ਰੇਟਸ ਨੂੰ ਵੀ ਕਵਰ ਕਰਦੀ ਹੈ।

Mythex ਉੱਤੇ ਸੀਕ੍ਰੇਟ

Mythex ਵਿੱਚ ਸੀਕ੍ਰੇਟ ਪ੍ਰੋਜੈਕਟ ਦੇ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਹੁੰਦੇ ਹਨ, ਜੋ ਪ੍ਰੀਵਿਊ ਸੈਂਡਬੌਕਸ ਅਤੇ ਤੁਹਾਡੀ ਪ੍ਰਕਾਸ਼ਿਤ ਐਪ ਦੋਵਾਂ ਵਿੱਚ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ। ਤੁਸੀਂ ਇਹ ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ → Secrets ਹੇਠ ਜਾਂ ਚੈਟ ਵਿੱਚ /secrets ਨਾਲ ਜੋੜਦੇ ਹੋ। ਜਦੋਂ ਏਜੰਟ ਨੂੰ ਕੋਈ ਕੁੰਜੀ ਚਾਹੀਦੀ ਹੈ, ਤਾਂ ਉਹ ਚੈਟ ਵਿੱਚ ਇੱਕ ਸੀਕ੍ਰੇਟ ਕਾਰਡ ਦਿਖਾਉਂਦਾ ਹੈ, ਤਾਂ ਜੋ ਕੀਮਤ ਸੁਨੇਹੇ ਦੀ ਬਜਾਏ ਇੱਕ ਫਾਰਮ ਫੀਲਡ ਵਿੱਚ ਜਾਵੇ। ਜੇ ਤੁਸੀਂ ਲਾਈਵ ਐਪ ਲਈ ਸੀਕ੍ਰੇਟ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਉਸਨੂੰ ਦੁਬਾਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ ਤਾਂ ਜੋ ਡਿਪਲੌਇ ਉਸਨੂੰ ਚੁੱਕ ਲਵੇ। ਪ੍ਰੋਜੈਕਟ ਐਕਸਪੋਰਟ ਵਿੱਚ ਸੀਕ੍ਰੇਟ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦੇ, ਅਤੇ ਇੰਪੋਰਟ ਕੀਤੀਆਂ .env ਫਾਈਲਾਂ ਵਿੱਚੋਂ ਉਹ ਹਟਾ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ, ਇਸ ਲਈ ਉਹਨਾਂ ਨੂੰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਜੋੜੋ। ਵੇਖੋ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਅਤੇ ਸੀਕ੍ਰੇਟ ਅਤੇ ਚੈਟ ਵਿੱਚ ਸੀਕ੍ਰੇਟ ਡੌਕਸ ਵਿੱਚ।

ਸਵਾਲ

ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਕੀ ਹੁੰਦਾ ਹੈ?

ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਇੱਕ ਨਾਮ ਵਾਲੀ ਸੈਟਿੰਗ ਹੈ, ਜਿਵੇਂ STRIPE_SECRET_KEY ਜਾਂ DATABASE_URL, ਜੋ ਪ੍ਰੋਗਰਾਮ ਦੇ ਚੱਲਣ ਸਮੇਂ ਉਸਨੂੰ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਨਾ ਕਿ ਉਸਦੇ ਕੋਡ ਵਿੱਚ ਲਿਖੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਲਈ ਇੱਕੋ ਕੋਡ ਡਿਵੈਲਪਮੈਂਟ ਅਤੇ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਕੀਮਤਾਂ ਵਰਤ ਸਕਦਾ ਹੈ।

ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਅਤੇ ਸੀਕ੍ਰੇਟ ਵਿੱਚ ਕੀ ਫ਼ਰਕ ਹੈ?

ਸੀਕ੍ਰੇਟ ਇੱਕ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਹੈ ਜਿਸਦੀ ਕੀਮਤ ਨਿੱਜੀ ਰਹਿਣੀ ਜ਼ਰੂਰੀ ਹੈ, ਜਿਵੇਂ API ਕੁੰਜੀ, ਡਾਟਾਬੇਸ ਪਾਸਵਰਡ ਜਾਂ ਵੈੱਬਹੁੱਕ ਸਾਈਨਿੰਗ ਸੀਕ੍ਰੇਟ। ਬਾਕੀ ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ, ਜਿਵੇਂ ਸਾਈਟ ਦਾ ਨਾਮ ਜਾਂ ਫੀਚਰ ਸਵਿੱਚ, ਜਨਤਕ ਹੋ ਸਕਦੇ ਹਨ।

ਕੀ ਮੇਰੇ ਫਰੰਟਐਂਡ ਵਿੱਚ API ਕੁੰਜੀਆਂ ਰੱਖਣਾ ਸੁਰੱਖਿਅਤ ਹੈ?

ਨਹੀਂ। ਫਰੰਟਐਂਡ ਕੋਡ ਵਿੱਚ ਜੋ ਕੁਝ ਵੀ ਹੈ ਉਹ ਹਰ ਵਿਜ਼ਿਟਰ ਦੇ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਡਾਊਨਲੋਡ ਹੁੰਦਾ ਹੈ ਅਤੇ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਸੀਕ੍ਰੇਟ ਕੁੰਜੀਆਂ ਸਿਰਫ਼ ਸਰਵਰ 'ਤੇ ਵਰਤੀਆਂ ਜਾਣ, ਅਤੇ ਬਰਾਊਜ਼ਰ ਤੁਹਾਡੇ ਸਰਵਰ ਨੂੰ ਕਾਲ ਕਰੇ, ਜੋ ਫਿਰ ਪ੍ਰਦਾਤਾ ਨੂੰ ਕਾਲ ਕਰੇ।

ਜੇ ਮੇਰੀ API ਕੁੰਜੀ ਲੀਕ ਹੋ ਜਾਵੇ ਤਾਂ ਮੈਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ?

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

Mythex · Pricing · AI ਨਾਲ ਕੁਝ ਵੀ ਬਣਾਓ · ਵੈੱਬਸਾਈਟ ਅਤੇ ਐਪ ਟੈਂਪਲੇਟ · Mythex ਦੀ ਤੁਲਨਾ · AI ਐਪ ਬਣਾਉਣ ਦੀ ਸ਼ਬਦਾਵਲੀ · ਮੁਫ਼ਤ AI ਐਪ ਬਣਾਉਣ ਵਾਲੇ ਟੂਲ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)