पाठ 14 / 25
HTTPS, CORS और Input Validation
हर जगह HTTPS, सही CORS rules और सख्त server-side input validation से API सुरक्षित करें।
हर जगह HTTPS
हर API को HTTPS पर परोसें। इसके बिना headers या bodies में tokens, API keys और निजी data network पर पढ़े जा सकते हैं। HTTP को HTTPS पर redirect करें और Strict-Transport-Security भेजें ताकि browsers कभी downgrade न करें।
CORS व्यवहार में
Server के opt-in के बिना browsers cross-origin calls block करते हैं। केवल भरोसेमंद origins को अनुमति दें, credentials के साथ कभी * नहीं।
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://app.example.com
Access-Control-Allow-Methods: GET, POST, PATCH, DELETE
Access-Control-Allow-Headers: Authorization, Content-Type
Vary: OriginServer पर validate करें
Client input पर कभी भरोसा न करें। Schema के अनुसार type, length, range और format validate करें, गलत requests को 400 या 422 से reject करें, और injection रोकने के लिए parameterised queries उपयोग करें।
त्वरित जाँच
त्वरित जाँच: Credentialed requests के साथ कौन-सी CORS setting असुरक्षित है?
- Allow-Origin: *
- Allow-Origin: एक भरोसेमंद origin
- Vary: Origin
- Allow-Headers: Authorization
Answer
Allow-Origin: * — Wildcard origin किसी भी site को user के credentials के साथ आपकी API call करने देता है।