MIME ধরণের অমিলের কারণে রিসোর্স ব্লক করা হয়েছে (এক্স-কনটেন্ট-টাইপ-অপশন: নোশনফ)


92

আমি জাভাস্ক্রিপ্ট এবং এইচটিএমএল ব্যবহার করে একটি ওয়েব পৃষ্ঠা বিকাশ করছি, যখন আমি আমার এইচটিএমএল পৃষ্ঠা থেকে ত্রুটির এই তালিকা পেয়েছি তখন সবকিছুই ভাল কাজ করছিল:

The resource from “https://raw.githubusercontent.com/dataarts/dat.gui/master/build/dat.gui.min.js”
  was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/dev/build/three.js” was
  blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/master/examples/js/renderers/CanvasRenderer.js”
  was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/master/examples/js/renderers/Projector.js”
  was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/dev/build/three.js” was
  blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).

এই ত্রুটিগুলি একটি স্বয়ংক্রিয় ব্রাউজার আপডেটের পরে দেখা গেছে (মজিলা ফায়ারফক্স), সেট আপে কিছু পরিবর্তন করা যেতে পারে। আপনি কি এই সমস্যা সমাধানের কোন উপায় জানেন?


11
গিটহাব থেকে ফাইলগুলি লোড করবেন না। পরিবর্তে, একটি সিডিএন ব্যবহার করুন।
স্ল্যাक्स

উত্তর:


76

ফাইলের পথটি সঠিক কিনা এবং ফাইলটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করুন - আমার ক্ষেত্রে এটিই সমস্যা ছিল - যেমন আমি এটি স্থির করেছি ত্রুটিটি অদৃশ্য হয়ে গেছে


আমিও একই সমস্যার মুখোমুখি হচ্ছি এবং ফাইল পাব ডিরেক্টরিতে নেই। আমার কি করা উচিৎ? এটি একটি কাস্টম থিম ফাইল।
সাইদ

@ সাইদ্যাট আরএলটিএস ফাইলটি উপস্থিত না থাকলে আপনার কোথাও থেকে এটি খুঁজে পাওয়া উচিত এবং সেখানে রেখে দেওয়া উচিত - বা যদি সেই ফাইলটি গুরুত্বপূর্ণ না হয় - তবে কেবল এতে থাকা লাইনটি সরিয়ে ফেলুন (বা খালি ফাইল তৈরি করুন) যাতে এটি কোনও ত্রুটি দেয় না
ডেভ

নোড সহ যাত্রী ব্যবহার করে আমার বিল্ডিং পাথগুলি ছুড়ে ফেলেছে, পাথগুলি আপডেট করে এটি স্থির করে দিয়েছে। ধন্যবাদ!
অ্যারন বেলচ্যাম্বার

29

এটি আপনার ইউআরএল পরিবর্তন করে ঠিক করা যেতে পারে, উদাহরণস্বরূপ খারাপ:

https://raw.githubusercontent.com/svnpenn/bm/master/yt-dl/yt-dl.js
Content-Type: text/plain; charset=utf-8

উদাহরণ ভাল:

https://cdn.rawgit.com/svnpenn/bm/master/yt-dl/yt-dl.js
content-type: application/javascript;charset=utf-8

Rawgit.com গিথাবের জন্য একটি ক্যাচিং প্রক্সি পরিষেবা। আপনি সেখানে গিয়ে ইন্টারেক্টিভভাবে আপনার মূল কাঁচা . githubusercontent.com URL এর জন্য একটি সম্পর্কিত URL পেতে পারেন । এর এফএকিউ দেখুন


4
অ্যাডেসে raw.githubusercontent.comপ্রতিস্থাপন করা হয় cdn.rawgit.comযা সঠিক মাইম-টাইপের সাথে প্রতিক্রিয়া জানাবে।
এক্সেল গইলমিন

কাঁচগিট বন্ধ হয়ে যাচ্ছে। আপনি jsdeliver ব্যবহার করতে পারেন হিসাবে নিম্নলিখিত উত্তর ব্যাখ্যা - stackoverflow.com/a/64456518/9640177
mayank1513

15

আমাদের ডিভস টিম যুক্ত করে ওয়েবসারভার কনফিগারেশন পরিবর্তন করার পরে আমরা উত্পাদনে এই ত্রুটির মুখোমুখি হতে শুরু করেছি X-Content-Type-Options: nosniff। এখন, এর কারণে, ব্রাউজারটি content-typeপ্রতিক্রিয়া শিরোনামগুলির প্যারামিটারে উল্লিখিত হওয়ায় সংস্থানগুলি ব্যাখ্যা করতে বাধ্য হয়েছিল ।

এখন থেকে, শুরু থেকে, আমাদের অ্যাপ্লিকেশন সার্ভারটি স্পষ্টতই js ফাইলগুলির বিষয়বস্তু-ধরণের সেট করছিল text/plain। যেহেতু, X-Content-Type-Options: nosniffওয়েব সার্ভারে সেট করা হয়নি, ব্রাউজারটি স্বয়ংক্রিয়ভাবে js ফাইলগুলি জাভাস্ক্রিপ্ট ফাইল হিসাবে ব্যাখ্যা করছে যদিও সামগ্রীর ধরণটি পাঠ্য / প্লেইন হিসাবে উল্লেখ করা হয়েছিল। এটিকে এমআইএমআই-স্নিফিং বলা হয়। এখন, এক্স-সামগ্রী-প্রকার-বিকল্পগুলি সেট করার পরে: ননসনিফ, ব্রাউজারটি মাইম-স্নিফিং না করতে এবং প্রতিক্রিয়া শিরোনামে উল্লিখিত কন্টেন্টের ধরণটি নিতে বাধ্য হয়েছিল। এর কারণে এটি জেএস ফাইলগুলিকে প্লেইন টেক্সট ফাইল হিসাবে ব্যাখ্যা করেছিল এবং এগুলি কার্যকর করতে অস্বীকৃতি জানিয়েছে বা তাদের অবরুদ্ধ করেছে। আপনার ত্রুটিগুলিতে একই দেখানো হয়েছে।

সমাধান: আপনার সার্ভারকে content-typeজেএস ফাইলগুলির সেট সেট করা make

application/javascript;charset=utf-8

এইভাবে, এটি সমস্ত জেএস ফাইলগুলি সাধারণত লোড করবে এবং সমস্যাটি সমাধান হয়ে যাবে।


যেখানে আমার সার্ভারের সামগ্রী-প্রকার সেট করতে হবে, তার অর্থ আমার কোন ফাইলটি রাখা উচিত, আমি টমক্যাট 8.5 সার্ভারটি ব্যবহার করছি
ভাস্কারা আরানী

এটি সমস্ত অ্যাপ্লিকেশন আর্কিটেকচারের উপর নির্ভর করে। আমাদের ক্ষেত্রে এটি ছিল একটি সরল পুরাতন সার্লেলেট ভিত্তিক একক অ্যাপ্লিকেশন। অতএব, এটি পরিষেবা পদ্ধতিতে ঠিক সেখানে সেট করা হচ্ছিল।
মণীশ বানসাল

পরিবর্তে এইচটিএমএল পরিবর্তন সম্পর্কে কি?
অ্যারন ফ্রাঙ্ক

দুঃখিত আমি তোমাকে পাইনি। এখানে, কোনও এইচটিএমএল ছিল না। আমাদের সার্ভলেট ভিত্তিক অ্যাপ্লিকেশন ছিল। আপনি এইচটিএমএল এ কী পরিবর্তন প্রস্তাব দিচ্ছেন?
মনীষ বানসাল


7

আপনি এক্সপ্রেস ব্যবহার করছেন?

আপনার পাথটি পরীক্ষা করুন ( /জন / পরে / " " নোট করুন :

app.use(express.static(__dirname + "/public/"));

// দ্রষ্টব্য: "সিএসএস" এর আগে আপনার "/" দরকার নেই কারণ এটি ইতিমধ্যে উপরে বর্ণিত রয়েছে:

rel="stylesheet" href="css/style.css

আশাকরি এটা সাহায্য করবে


5

ওয়ার্ডপ্রেসের জন্য

আমার ক্ষেত্রে আমি get_template_directory_uri () এর পরে কেবল "/" স্ল্যাশ মিস করেছি সুতরাং ফলস্বরূপ / উত্পন্ন পথটি ভুল ছিল:

আমার ভুল কোড:

wp_enqueue_script( 'retina-js', get_template_directory_uri().'js/retina.min.js' ); 

আমার সংশোধিত কোড:

wp_enqueue_script( 'retina-js', get_template_directory_uri().'/js/retina.min.js' );

3

এটি হতে পারে কারণ ব্রাউজার কোনও ফাইল অ্যাক্সেস করতে পারে না। নোড.জেএসএস দিয়ে অ্যাপ্লিকেশন তৈরি করার সময় আমি এই ধরণের ত্রুটির সাথে হোঁচট খেয়েছি আপনি সরাসরি স্ক্রিপ্ট ফাইলটির অনুরোধ করার চেষ্টা করতে পারেন (ইউআরএলটি অনুলিপি এবং আটকানো) এবং আপনি এটি পুনরুদ্ধার করতে পারেন কিনা তা দেখতে পারেন। আসল সমস্যাটি কী তা আপনি দেখতে পারেন। এটি ফোল্ডারের যেখানে ফাইলটি রয়েছে তার অনুমতি থাকার কারণে বা ব্রাউজারটি এটির সঠিক পথের কারণে এটি খুঁজে পাচ্ছে না। নোড.জেজে, ফাইলের রুট নির্দিষ্ট করার পরে, সমস্ত কাজ করে।


এই এমএস পৃষ্ঠা অনুসারে এটি একটি মাইম টাইপ সমস্যা বলে মনে হচ্ছে। তবে কীভাবে MIMEনোড.জেজে টাইপ করবেন ? (একটিতে সমস্ত ফাইলের পুরো পাথ নির্দিষ্ট করা উচিত নয়, তবে কেবল সম্পদ ডিরেক্টরিগুলিতে নয়?)
not2qubit

3

এটি একটি ভুল পথ হতে পারে। আপনার মূল অ্যাপ্লিকেশন ফাইলটিতে নিশ্চিত করুন:

app.use(express.static(path.join(__dirname,"public")));

আপনার সিএসএসের উদাহরণ লিঙ্ক হিসাবে:

<link href="/css/clean-blog.min.css" rel="stylesheet">

জেএস ফাইলগুলির লিঙ্কের অনুরূপ:

<script src="/js/clean-blog.min.js"></script>

2

আমি নোটপ্যাড ++ এ বিওএম ছাড়াই ইউটিএফ -8 থেকে জেএস-ফাইলগুলিতে চরসেট পরিবর্তন করে সাধারণ ইউটিএফ -8 এ সমস্যার সমাধান করেছি


1

আমি যখন এই স্ট্যাটিক ওয়েবসাইট হিসাবে অ্যাজুরি স্টোরেজটি ব্যবহার করছিলাম তখন আমার এই ত্রুটি হয়েছিল, অনুলিপি করা জেএস ফাইলগুলিতে বিষয়বস্তুর ধরণ ছিল text/plain; charset=utf-8এবং আমি বিষয়বস্তুর ধরণটি পরিবর্তিত করেছিapplication/javascript

এটা কাজ শুরু।


0

প্রোটোকলগুলির জন্য দেখুন HTTPS এবং HTTP

কখনও কখনও যদি আপনি মিশ্র প্রোটোকল ব্যবহার করেন [এটি বেশিরভাগ JSONP কলব্যাকগুলির সাথে ঘটে] আপনি এই ত্রুটিটি শেষ করতে পারেন।

নিশ্চিত করুন যে ওয়েব-পৃষ্ঠা এবং সংস্থান পৃষ্ঠাতে উভয়ই এইচটিটিপি প্রোটোকল রয়েছে।


0

আমিও জাঙ্গো সার্ভারে এই একই সমস্যার মুখোমুখি হয়েছি o সুতরাং আমি ডিইবিইউজি = সেটিংসে সত্য পরিবর্তন করেছি changed


0

ভুল ট্যাগের জন্য এটি আমার কাছে হয়েছিল। ভুল করে আমি জেএস ফাইলটি linkট্যাগে যুক্ত করছি।

উদাহরণ: (ভুল এক)

<link rel="stylesheet" href="plugins/timepicker/bootstrap-timepicker.min.js">

এটির জন্য সঠিক ট্যাগ ব্যবহার করে সমাধান করা javascript। উদাহরণ:

<script src="plugins/timepicker/bootstrap-timepicker.min.js"></script>

0

https://cdn.rawgit.com বন্ধ হয়ে যাচ্ছে। সুতরাং, বিকল্প বিকল্পগুলির একটি ব্যবহার করা যেতে পারে। জেএসডেলিভার একটি ফ্রি সিডিএন যা ব্যবহার করা যায়।

// কোনও গিটহাব রিলিজ, প্রতিশ্রুতিবদ্ধ বা শাখা লোড করুন

// দ্রষ্টব্য: আমরা প্রকল্পগুলি যে এটি সমর্থন করে তাদের জন্য এনপিএম ব্যবহারের পরামর্শ দিই

https://cdn.jsdelivr.net/gh/user/repo@version/file

// লোড jQuery v3.2.1

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/jquery.min.js

// নির্দিষ্ট সংস্করণের পরিবর্তে একটি সংস্করণ পরিসর ব্যবহার করুন

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2/dist/jquery.min.js

https://cdn.jsdelivr.net/gh/jquery/jquery@3/dist/jquery.min.js

// সর্বশেষতমটি পেতে সংস্করণটিকে পুরোপুরি বাদ দিন

// আপনার এটি উত্পাদনে ব্যবহার করা উচিত নয়

https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js

একটি সংক্ষিপ্ত সংস্করণ পেতে // কোনও জেএস / সিএসএস ফাইলে ".min" যুক্ত করুন

// যদি কারও অস্তিত্ব না থাকে, আমরা এটি আপনার জন্য তৈরি করব

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/src/core.min.js

// ডিরেক্টরি / শেষে ডিরেক্টরি তালিকা পেতে

https://cdn.jsdelivr.net/gh/jquery/jquery/

রেফ - https://www.jsdelivr.com/?docs=gh

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.