HTTP বিকল্পগুলির অনুরোধে অ্যাপাচে "200 ওকে" ফিরিয়ে দেওয়া


12

আমি কোনও কোড স্পর্শ না করে ক্রস-ডোমেন HTTP অ্যাক্সেস নিয়ন্ত্রণ বাস্তবায়নের চেষ্টা করছি ।

আমি আমার অ্যাপাচি (2) সার্ভারটি এই ব্লকের সাথে সঠিক অ্যাক্সেস কন্ট্রোল শিরোনাম ফিরিয়ে পেয়েছি:

Header set Access-Control-Allow-Origin "*"                   
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS" 

ব্রাউজার যখন একটি HTTP OPTIONSঅনুরোধ প্রেরণ করে (এটি REQUEST_METHODপরিবেশে পরিবর্তনশীলতে সঞ্চিত থাকে ) ফিরে আসে তখন আমার এখন অ্যাপাচিকে আমার কোড কার্যকর করতে বাধা দেওয়া দরকার 200 OK

অনুরোধের পদ্ধতিটি অপশন হলে আমি কীভাবে অ্যাপাচি "200 ওকে" প্রতিক্রিয়া জানাতে পারি?

আমি এই mod_rewriteব্লকটি চেষ্টা করেছি , তবে অ্যাক্সেস নিয়ন্ত্রণের শিরোনাম হারিয়ে গেছে are

RewriteEngine On                  
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [R=200,L]       

উত্তর:


12

আপনি একটি অ-সাফল্য (নন-টুএক্সএক্সএক্স) প্রতিক্রিয়ায় একটি শিরোনাম যুক্ত করছেন, যেমন একটি পুনর্নির্দেশ, যে ক্ষেত্রে কেবল সর্বদা সম্পর্কিত টেবিল চূড়ান্ত প্রতিক্রিয়াতে ব্যবহৃত হয়।

সঠিক "শিরোলেখ সেট":

Header always set Access-Control-Allow-Origin "*"                   
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS"

7

আপনি যদি সত্যায়িত অ্যাক্সেসের জন্য ডিরেক্টরি স্থাপন করেন, ক্রোম এবং সাফারি (সম্ভবত অন্যরাও) এর মতো ব্রাউজারগুলি সর্বদা XMLHttpRequest কলের আগে একটি অনির্ধারিত বিকল্পগুলি অনুরোধ প্রেরণ করে, যা সর্বদা 401 হয়ে যায় এবং যদি আমরা .htaccess ফাইল / অ্যাপাচি কনফিগারেশন সেট না করি তবে ব্যর্থ হয় always প্রমাণীকরণের প্রয়োজন ছাড়াই অপশন পদ্ধতি অনুমোদনের জন্য। এটি আমাকে 2 দিনের জন্য বাদাম চালিয়েছে এবং এটি ওয়েবমাস্টাররা গোপন হিসাবে রাখে এমন "গুপ্ত" তথ্য information যাইহোক আমি এইভাবে আমার .htaccess কনফিগার করেছি এবং এখন এটি কার্যকর হয়:

AuthUserFile <path to password file>
AuthName "Thou shalt not pass!"
AuthType Basic
Options -Indexes
<LimitExcept OPTIONS>
  Require valid-user
</LimitExcept>

তারপরে আপনাকে পিএইচপি স্ক্রিপ্টগুলিতে সঠিকভাবে শিরোনাম সেট করতে হবে।


1
শেষ লাইনটি গুরুত্বপূর্ণ। যদি অন্তর্নিহিত ওয়েব পরিষেবা OPTIONSঅনুরোধটি পরিচালনা করতে না পারে তবে আপনি একটি 404 ত্রুটি পাবেন।
ব্যবহারকারী 2297366

7

কখনও কখনও এই উদ্দীপনা সাহায্য করতে পারে:

<IfModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Headers "origin, content-type"
    Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
</IfModule>

RewriteEngine On                  
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ blank.html [QSA,L]

আপনার যখন অ্যাপাচি-এর মতো সার্ভার থাকবে তখন এটি দরকারী


এটি আমার জন্য অনুরোধগুলি আনলক করেছে। এটি আশ্চর্যজনক। অ্যাপাচি ২.৪ এ ফাঁকা। html এ নিয়ম রয়েছে যা বিদ্যমান নেই!
নাদির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.