যে কোনও দৈর্ঘ্যের অনুরোধগুলি মঞ্জুর করার জন্য কীভাবে ওয়েবকনফিগকে কনফিগার করবেন


138

আমি একটি সাইট তৈরি করছি যেখানে আমি একটি টেক্সারিয়া উপাদানটির মান থেকে একটি ফাইল ক্লায়েন্টের দিক তৈরি করতে চাই।

এটি করার জন্য আমার কাছে কোড রয়েছে তবে আমি এই ত্রুটিটি পাচ্ছি

HTTP ত্রুটি 404.15 - পাওয়া যায় নি অনুরোধ ফিল্টারিং মডিউল এমন একটি অনুরোধ অস্বীকার করতে কনফিগার করা হয়েছে যেখানে ক্যোরির স্ট্রিং খুব দীর্ঘ।

এটিকে ওভাররাইড করার কোনও উপায় আছে যাতে আমি কোনও আকারের অনুরোধগুলি প্রক্রিয়া করতে সক্ষম হয়েছি?

যদি তা না হয় তবে ফাইল সিস্টেম / অ্যাক্টিভ এক্স অবজেক্টটি ব্যবহার না করে ফাইল ক্লায়েন্টের পক্ষে উত্পন্ন করার কোনও উপায় আছে কি?

ধন্যবাদ


8
আপনি যে বিষয়টি বিবেচনা করতে চান তা হ'ল যদিও ক্যোরি স্ট্রিংয়ের দৈর্ঘ্য আইআইএস বা আপনার অ্যাপ্লিকেশনটির জন্য কনফিগারযোগ্য হতে পারে তবে ইউআরএল দৈর্ঘ্যের জন্য এইচটিটিপি মান রয়েছে। যেহেতু আপনি কোয়েরি স্ট্রিংটি ব্যবহার করছেন আপনি URL এর অংশ হিসাবে মানগুলি পাস করছেন। সর্বাধিক ইউআরএল অক্ষরের দৈর্ঘ্য 2000 টি অক্ষর। যদি আপনার মানগুলি দীর্ঘতর স্ট্রিং হতে চলেছে তবে মানগুলি ক্যোরি স্ট্রিংয়ে না গিয়ে পোস্ট করা ভাল be
জেফ লাফে

2
জ্লাফয়ের সাথে সম্মত হন। যখন আপনার কাছে ২-৩ টিরও বেশি সাধারণ পরামিতি থাকে তখন মানগুলি পোস্ট করার জন্য এটি একটি সেরা অনুশীলন। এবং আপনি যখন ক্যোয়ারী স্ট্রিং ব্যবহার করেন তখন সেগুলি এনক্রিপ্ট করার বিষয়ে নিশ্চিত হন।
জ্যাক

উত্তর:


243

নিম্নলিখিতগুলি আপনার ওয়েবকনফাইগে যুক্ত করুন:

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxQueryString="32768"/>
    </requestFiltering>
  </security>
</system.webServer>

দেখা:

http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits

মন্তব্য প্রতিফলিত আপডেট।

অনুরোধ ফিল্টারিং [আইআইএস সেটিংস স্কিমা]

আপনার ওয়েবকনফাইগেও আপনাকে নিম্নলিখিতগুলি যুক্ত করতে পারেন

<system.web>
    <httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
</system.web>

দেখুন: HTTP রুনটাইম এলিমেন্ট (ASP.NET সেটিংস স্কিমা)

অবশ্যই উপরের কনফিগারেশন সেটিংসে নম্বরগুলি (32768 এবং 65536) কেবল উদাহরণ। আপনাকে সেই সঠিক মানগুলি ব্যবহার করতে হবে না।


24
একা আমার পক্ষে যথেষ্ট ছিল না। আমাকে এটি সিস্টেমেও যোগ করতে হয়েছিল we ওয়েবে বিভাগ: <httpRunটাইম ম্যাককিউরিস্ট্রিংলেন্থ = "8192" />
রব সেডগউইক

2
এনএনএন হ'ল সর্বাধিক স্ট্রিং দৈর্ঘ্য যা আপনি অনুমতি দিতে চান, উদাহরণস্বরূপ
32768


আমি প্রত্যেকটি পৃথকভাবে চেষ্টা করেছিলাম, system.webServer এর অধীনে সুরক্ষা নোড সেট করেছিলাম এবং তারপরে httpRunটাইম নোডের সাথে অ্যাট্রিবিউটগুলি সরিয়ে এবং যুক্ত করেছিলাম। আমার অবশ্যই দু'জনের কাজ করার দরকার ছিল। অনেক ধন্যবাদ!
ডেভিড গাউনসন

2
দ্রষ্টব্য: <httpRuntime> ট্যাগ <system.web> : <system.web> <httpRuntime maxQueryStringLength = "32768" maxUrlLength = "65536" /> </ system.web>
লেপটায়

33

আমার ক্ষেত্রে (ভিজ্যুয়াল স্টুডিও 2012 / আইআইএস এক্সপ্রেস / এএসপি। নেট এমভিসি 4 অ্যাপ / নেট নেট ফ্রেমওয়ার্ক 4.5) 30 মিনিটের ট্রায়াল এবং ত্রুটির পরে সত্যিকার অর্থে কী কাজ maxQueryStringLengthকরেছে তা <httpRuntime>ট্যাগটিতে সম্পত্তি সেট করা ছিল :

<httpRuntime targetFramework="4.5" maxQueryStringLength="10240" enable="true" />

maxQueryStringLengthডিফল্ট 2048

এটি সম্পর্কে এখানে আরও:

অনুমোদিত ইউআরএলগুলির ব্যাপ্তি প্রসারিত করা


আমি এর মধ্যে সেটিং চেষ্টা <system.webServer>হিসাবে @MattVarblow প্রস্তাব দেওয়া, কিন্তু এটা কাজ করে নি ... আর এই কারণ আমি আমার দেব মেশিনে আইআইএস এক্সপ্রেস (আইআইএস 8 উপর ভিত্তি করে) ব্যবহার করছি উইন্ডোজ 8 দিয়ে।

আমি যখন আমার অ্যাপ্লিকেশনটিকে পরিবেশের পরিবেশে (আইআইএস 7 সহ উইন্ডোজ সার্ভার ২০০৮ আর 2) স্থাপন করেছি, তখন আইই 10 দীর্ঘ জিজ্ঞাসার স্ট্রিং সহ এজেএক্স অনুরোধগুলিতে 404 ত্রুটি ফিরিয়ে দেওয়া শুরু করে। তারপরে আমি ভেবেছিলাম যে সমস্যাটি ক্যোয়ারী স্ট্রিংয়ের সাথে সম্পর্কিত এবং @ ম্যাটওয়ারব্লোয়ের উত্তরটি চেষ্টা করে। এটি সবেমাত্র আইআইএস worked এ কাজ করেছে। :)


2
আমার জন্য এটি সক্ষম = "সত্য" যা
যাদুটিকে ঘটায়

6

অন্য কিছু যাচাই করার জন্য: যদি আপনার সাইটটি এমভিসি ব্যবহার করে থাকে তবে আপনি যদি লগইন নিয়ন্ত্রণকারী ক্লাসে [অনুমোদন] যুক্ত করেন তবে এটি ঘটতে পারে। এটি লগইন পদ্ধতিতে অ্যাক্সেস করতে পারে না কারণ এটি অনুমোদিত নয় তাই এটি লগইন পদ্ধতি -> বুমে পুনর্নির্দেশ করে।


ধন্যবাদ! আমি এই সমস্যাটি অনুভব করেছি কারণ আমি মেনু / নেভিগেশনকে আংশিক দর্শন এবং অন্য কোনও নিয়ামককে সরিয়ে নিয়েছি যা বেনামে সংযোগের অনুমতি দেয় না।
ওয়েস্টারলুন্ড.ইও

অন্য একটি ক্ষেত্রে যেখানে ত্রুটি বার্তাটি সত্য হলেও সত্যিকারের সমস্যার সাথে কোনও সম্পর্ক নেই।
স্টিভ স্মিথ

1
প্রকল্পের বৈশিষ্ট্যগুলিও পরীক্ষা করে দেখুন এটি হতে পারে যে উইন্ডোজ প্রমাণীকরণটি "সক্ষম" এবং বেনামে প্রমাণীকরণ অক্ষম করা আছে। প্লিজ
ফুজিএফএক্স

5

আইআইএস 8.5 ওয়েব সার্ভার চালানোর সময় আপনি যদি এই সমস্যাটিতে চলে যান তবে আপনি নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন।

প্রথমে, আপনি যে আইআইএস সাইটে কাজ করছেন তার "অনুরোধ ফিল্টারিং" মডিউলটি সন্ধান করুন, তারপরে এটিতে ডাবল ক্লিক করুন ...

এখানে চিত্র বর্ণনা লিখুন

এরপরে, আপনাকে নীচে প্রদর্শিত সাদা অঞ্চলে ডান ক্লিক করতে হবে তারপরে "বৈশিষ্ট্য সেটিংস সম্পাদনা করুন" নামক প্রসঙ্গ মেনু বিকল্পটি ক্লিক করুন

এখানে চিত্র বর্ণনা লিখুন

তারপরে শেষ কাজটি হ'ল "সর্বোচ্চ ক্যোয়ারী স্ট্রিং (বাইটস)" মানটি 2048 থেকে আরও উপযুক্ত কিছু যেমন আপনার প্রয়োজনের জন্য 5000 তে পরিবর্তন করা উচিত।

এখানে চিত্র বর্ণনা লিখুন


আপনাকে ধন্যবাদ, এটি আমার জন্য সহজ এবং কার্যক্ষম সমাধান
আফিফ জাফরি

ধন্যবাদ বন্ধু!!!!!
নুবি

0

আইআইএস to-তে একটি এএসপি ওয়েব অ্যাপ্লিকেশন মোতায়েনের চেষ্টা করার সময় আমার একই ধরণের সমস্যা হয়েছিল it এটি ঠিক করার জন্য আমি ম্যাট এবং লেনিয়েলের উপরে পরামর্শ মতো করেছিলাম। তবে বেনামে প্রমাণীকরণ সক্ষম করতে আমার সাইটের প্রমাণীকরণ সেটিংসটিও কনফিগার করতে হয়েছিল। এবং যে আমার জন্য কাজ।


0

আমাকে আমার লগইন পৃষ্ঠায় ক্রিয়াকলাপ ফাংশনে [AllowAnonymous] যুক্ত করতে হয়েছিল কারণ ব্যবহারকারী এখনও প্রমাণীকৃত হয়নি।


0

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


0

আপনি যখন অজ্যাক্স কল প্যারামিটারে বড় স্ট্রিং পাস করেন তখন এটি ত্রুটিও সৃষ্টি করে।

সুতরাং সর্বদা এজাজে টাইপ পোস্টের জন্য আপনার ইস্যুটি 100% সমাধান করবে এবং ওয়েবকনফাইগে দৈর্ঘ্য নির্ধারণ করার দরকার নেই।

// var ইউজারআইডি = 1000 ইউজারিডের অ্যারে

aj।


-1

HTTP ত্রুটি 404.15 - পাওয়া যায় নি অনুরোধ ফিল্টারিং মডিউল এমন একটি অনুরোধ অস্বীকার করতে কনফিগার করা হয়েছে যেখানে ক্যোরির স্ট্রিং খুব দীর্ঘ।

এই সমস্যাটি সমাধান করার জন্য, Formট্যাগের কোনও সম্পত্তি আছে কিনা তা উত্স কোডটিতে যাচাই করুনmethod পেয়ে / সেট অবস্থায় ।

যদি তা হয় তবে methodসম্পত্তিটি অপসারণ করা উচিত।

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