როგორ ჩართოთ CORS in Apache და Nginx?

შეზღუდეთ ან დაუშვებთ რესურსების გაზიარებას საიტებს შორის CORS სათაურის გამოყენებით.


CORS (Cross-Origin Resource Sharing) სათაური მხარდაჭერილია ყველა თანამედროვე ბრაუზერში.

შემიძლია კორსების გამოყენება? მონაცემები cors– ის მხარდაჭერის შესახებ, caniuse.com– ის მთავარ ბრაუზერებს მოიცავს.

სტანდარტულად, ბრაუზერი ზღუდავს ჯვრის წარმოშობის HTTP მოთხოვნებს სკრიპტების საშუალებით. და, CORS შეიძლება სასარგებლო იყოს სხვა პროგრამის საერთო პროგრამის რესურსების გამოყენება. მას შემდეგ, რაც ის სწორად დაემატება, ის ბრაუზერს ავალებს ატვირთოს აპლიკაცია სხვა წარმოშობით.

არსებობს ექვსი პოპულარული ტიპის CORS სათაური, რომელსაც სერვერს შეუძლია გამოაგზავნოს. მოდით განვიხილოთ ისინი.

წვდომის კონტროლი-ნებადართული წარმოშობა

ყველაზე პოპულარულია ის, რომ იგი ბრაუზერს ეუბნება დატვირთოს რესურსები დაშვებულ წარმოშობაზე. იგი მხარს უჭერს wildcard (*) და ამით ნებისმიერ დომენს შეუძლია დატვირთოს რესურსი. ამასთან, მას აქვს შესაძლებლობა, დაუშვას კონკრეტული წარმოშობა.

Apache

დაამატეთ შემდეგი httpd.conf ან სხვა გამოყენებული კონფიგურაციის ფაილში.

ჰედერის დაყენება წვდომის კონტროლის უფლება დაშვების წარმოშობა "*"

გადატვირთეთ Apache ტესტი. თქვენ უნდა ნახოთ ისინი საპასუხო თავებში.

და, კონკრეტული წარმოშობის დასაშვებად (მაგალითად: https://gf.dev), შეგიძლიათ გამოიყენოთ შემდეგი.

ჰედერის დაყენება წვდომის კონტროლის უფლება დაშვების წარმოშობა "https://gf.dev"

ნგინიქსი

აქ არის მაგალითი, რომელიც საშუალებას მისცემს წარმოშობას https://geekflare.dev. დაამატეთ შემდეგი nginx.conf ან გამოყენების კონფიგურაციის ფაილის სერვერის ბლოკში.

add_header წვდომა-კონტროლი-ნებადართული წარმოშობა "https://geekflare.dev";

წვდომის კონტროლი-ნებადართული მეთოდები

ბრაუზერს შეუძლია დაიწყოს ერთი ან მეტი HTTP მეთოდი რესურსების წვდომისათვის. მაგალითად: – მიიღეთ, PUT, OPTIONS, PUT, DELETE, POST

Apache

მხოლოდ GET და POST დაშვება.

სათაურის დამატება წვდომის კონტროლის ნებადართული მეთოდები "მიიღეთ, განთავსებულია"

ნგინიქსი

ვთქვათ, თქვენ უნდა დაამატოთ DELETE და OPTIONS მეთოდები, შემდეგ შეგიძლიათ დაამატოთ როგორც ქვემოთ.

add_header წვდომის კონტროლი-ნებადართული მეთოდები "წაშლა, ოფციები";

გადატვირთვის შემდეგ, თქვენ უნდა ნახოთ ისინი საპასუხო თავებში.

წვდომის კონტროლი-ნებადართული-ჰედები

შემდეგი სათაურები დაცულია, რომ თქვენ არ გჭირდებათ დამატების დამატება. ეს უნდა მუშაობდეს ნაგულისხმევი.

  • Შინაარსის ტიპი
  • მიიღოს
  • შინაარს-ენა
  • მიღება-ენა

თუმცა, თუ გსურთ დაამატოთ საბაჟო, შეგიძლიათ ამის გაკეთება. იგი მხარს უჭერს ერთ ან რამდენიმე თავსართს.

Apache

მოდით ვთქვათ, რომ გსურთ დაუშვას X-Custom-Header და X-Powered-By სათაურები.

სათაური ყოველთვის მითითებულია წვდომის კონტროლის დაშვების და დაშვებას "X- საბაჟო – ჰედერი, X– საშუალებით"

გადატვირთვის შემდეგ, თქვენ უნდა ნახოთ შედეგი საპასუხო თავებში.

ნგინიქსი

X- მომხმარებელთა პროგრამული უზრუნველყოფის და X-My-Custom სათაურის დამატების მაგალითი.

add_header წვდომის კონტროლი-ნებადართული-ჰედები "X-Custom-Software, X-My-Custom";

წვდომის კონტროლი-გამოფენა-სათაურები

შემდეგი სათაურები უკვე უსაფრთხო ჩამონათვალია. თქვენ არ გჭირდებათ დამატება, თუ გსურთ მათი გამოვლენა.

  • იწურება
  • პრაღმა
  • ქეში-კონტროლი
  • ბოლო შესწორებულია
  • შინაარს-ენა
  • Შინაარსის ტიპი

თუ უსაფრთხო სიის გარდა სხვაც გჭირდებათ, მაშინ შეგიძლიათ დაუშვათ ისინი შემდეგში.

Apache

გამოიყენეთ ველური ბარათი, რომ გამოიფინოთ ყველა სათაური.

Header ყოველთვის ადგენს წვდომის კონტროლის-ექსპოზიციის-თავსატეხები "*"

შენიშვნა: ველური ბარათი ჯერ არ გამოაქვს ავტორიზაციის სათაური და თუ ამის საჭიროება გჭირდებათ, პირდაპირ უნდა ახსენოთ.

Header ყოველთვის ადგენს წვდომის კონტროლის-ექსპოზიციის-თავსატეხები "ავტორიზაცია, *"

შედეგი ასე უნდა გამოიყურებოდეს.

ნგინიქსი

თუ გსურთ გამოიტანოთ სათაურის სათაური.

add_header წვდომის კონტროლი-გამოფენა-თავსართები "წარმოშობა";

წვდომის კონტროლი-მაქსიმალური ასაკი

იცით თუ არა მონაცემები Access-Control-Allow-Head- ებისა და Access-Control- ნებადართული-მეთოდების სასაქონლო ქულების შენახვისაგან? მისი შენახვა შესაძლებელია 24 საათამდე Firefox- ში, Chrome- ში 2 საათის განმავლობაში (76+).

ქეშირების გამორთვა შეგიძლიათ შეინარჩუნოთ მნიშვნელობა -1

Apache

შესანახად 15 წუთის განმავლობაში.

სათაური ყოველთვის მითითებულია წვდომის კონტროლის მაქსიმალურ ასაკს "900"

როგორც ხედავთ, მნიშვნელობა წამშია.

ნგინიქსი

ერთ საათში შესანახად.

add_header წვდომის კონტროლი-მაქსიმალური ასაკი "3600";

დამატების შემდეგ, გადატვირთეთ Nginx, რომ ნახოთ შედეგები.

წვდომის კონტროლი-ნებადართვა-სერთიფიკატები

აქ მხოლოდ ერთი ვარიანტია დასახული – მართალია. ეს საშუალებას მისცემს, თუ გსურთ გამოამჟღავნოთ სერთიფიკატები, როგორიცაა cookies, TLS სერთიფიკატები, ავტორიზაცია.

Apache

სათაური ყოველთვის ადგენს წვდომის კონტროლს-ნებადართულს-სერთიფიკატებს "მართალია"

ნგინიქსი

add_header Access-Control-Allow-Credentials "მართალია";

და შედეგი.

შედეგების გადამოწმება

საჭირო ჰედერების დამატების შემდეგ შეგიძლიათ გამოიყენოთ ბრაუზერის ჩამონტაჟებული დეველოპერული ხელსაწყოები ან სხვა ონლაინ HTTP სათაურის გამშვები.

დასკვნა

იმედი მაქვს, რომ ზემოაღნიშნული დაგეხმარებათ გაეცნოთ CORS თავსატეხს Apache HTTP- ში და Nginx ვებ სერვერზე უკეთესი უსაფრთხოებისთვის. თქვენ ასევე შეიძლება დაგაინტერესოთ OWASP რეკომენდირებული უსაფრთხო სათაურების გამოყენებით.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map