ইউআরএল (/%) শতাংশ সাইন ইন করে সঠিকভাবে আইআইএস অনুরোধটি পরিচালনা করুন


14

আইআইএস অনুরোধ যেমন /programming//% এবং http://bing.com/% হিসাবে 400 টি খারাপ অনুরোধ পৃষ্ঠা প্রদর্শন না করার জন্য, তবে একটি কাস্টম ত্রুটি পৃষ্ঠা প্রদর্শন করার জন্য আমি কোনও ধরণের সমাধানের সন্ধান করছি but কীভাবে http://google.com/% এবং http://facebook.com/% করেন (স্পষ্টত সেই উদাহরণগুলি আইআইএস-তে নেই) এর সমান ।

আমি বিশ্বাস করি যে আমি প্রযোজ্য সমস্ত http.sys রেজিস্ট্রি সেটিংস (AllowRestrictedChars, PercentUAowed) http://support.microsoft.com/kb/820129 অনুসারে সেট করার চেষ্টা করেছি তবে তাতে কোনও লাভ হয়নি। AllowRestrictedChars সেট এবং একটি কাস্টম 400 পৃষ্ঠাতে url যেমন /programming//%12 তবে /% নয় স্থির করে আছে ।


3
আপনি বুঝতে পেরেছেন যে এটি একটি অসম্পূর্ণ URL- রক্ষা এবং একটি খারাপ অনুরোধ, সুতরাং 400 এটি সঠিকভাবে পরিচালনা করছে? পারসেন্টু এবং অলআউটসেট্রেক্টেড সত্যিই প্রযোজ্য নয়
রূপ

হ্যাঁ আমি করি (এবং /% কেবলমাত্র একটি ইউআরএল, তবে স্পষ্টতই ত্রুটি প্রতিটি অবৈধ পালানোর চরিত্রের সাথে ঘটে)। আইআইএস 400 হ্যান্ডলিং করা হয়, কিন্তু আমার মনে হয় আমার আইআইএস অন্যান্য অবস্থা কোড সঙ্গে করতে পারেন একটি কাস্টম 400 পৃষ্ঠা প্রদর্শন করতে চান, এবং কিভাবে অ আইআইএস মত সার্ভার 400 জন্য করতে
bkaid

আমার কিছু শক্তিশালী লিঙ্ক রয়েছে যেগুলি আমার ওয়েবসাইটগুলিতে ইঙ্গিত করছে যা ভুলভাবে এইভাবে এনকোড করা আছে। তবে আমি তাদের সঠিক পৃষ্ঠাতে 301 করার অনুমতি পাচ্ছি না, পরিবর্তে এটি একটি কঠিন ত্রুটি। এটা অগ্রহণযোগ্য.
বুমহাউয়ার

উত্তর:


20

এটি সরাসরি আইআইএস কার্নেল স্তরের অবরুদ্ধ। পরীক্ষা হিসাবে আমি আইআইএসের প্রতিটি মডিউলটি টেনে আনলাম যাতে এটিতে কোনও স্ট্যাটিক পৃষ্ঠা হ্যান্ডলারও না থাকে এবং এটি এখনও 400 ত্রুটি বার্তা প্রদর্শন করে।

আমি বিশ্বাস করি না যে আইআইএসের সাথে এটি প্রায় পাওয়া সম্ভব। আপনি উল্লিখিত রেজিস্ট্রি সেটিংস অন্যান্য ধরণের বিধিনিষেধযুক্ত অক্ষরের জন্য। আমি এই কার্যকারিতাটি পরিবর্তন করতে কোনও লিভার দেখিনি।

আপনার লক্ষ্য কি এড়ানো হচ্ছে? এটি আপনার আক্রমণ পৃষ্ঠতলের আরও প্রশস্ত করে এবং আমি অসম্পূর্ণ URL এড়ানোর ক্রমগুলি ব্লক করার ফলে কোনও আইনজীবি হারিয়ে যাওয়ার কথা ভাবতে পারি না।

আপডেট 2: এটিতে এখানে তিনটি দুর্দান্ত লিঙ্ক রয়েছে। আপনার প্রশ্নটি নিয়ে আলোচনার কারণে আইআইএস দলের নাজিম লালা এবং ওয়েড হিলমো দুজনেই এ সম্পর্কে ব্লগ করেছেন। এছাড়াও স্কট হ্যানসেলম্যান। নেট মধ্যে কোয়েরিস্ট্রিং অংশে একটি দুর্দান্ত পোস্ট আছে:

আপডেট: আমি একটি অনুমোদিত উত্তর পেতে আইআইএস দলের সদস্যের সাথে চেক করেছি। তিনি উল্লেখ করেছিলেন যে আরএফসি 1738 ( http://www.ietf.org/rfc/rfc1738.txt ) অনুসারে%% কে একটি অনিরাপদ চরিত্র হিসাবে বিবেচনা করা হয় ।

এখানে রিলেভেন্ট পাঠ্য:

অনিরাপদ:

চরিত্রগুলি বেশ কয়েকটি কারণে অনিরাপদ হতে পারে। স্পেস অক্ষরটি অনিরাপদ কারণ ইউআরএলগুলি প্রতিলিপি বা টাইপসেট বা ওয়ার্ড-প্রসেসিং প্রোগ্রামগুলির চিকিত্সার শিকার হওয়ার সময় উল্লেখযোগ্য স্থানগুলি অদৃশ্য হয়ে যেতে পারে এবং তুচ্ছ স্থানগুলি উপস্থিত হতে পারে। "<" এবং ">" অক্ষরগুলি অনিরাপদ কারণ এগুলি ফ্রি পাঠ্যে ইউআরএল-এর আশেপাশের সীমানা হিসাবে ব্যবহৃত হয়; উদ্ধৃতি চিহ্ন ("" ") কিছু সিস্টেমে ইউআরএলগুলি সীমিত করতে ব্যবহৃত হয় The সনাক্তকারী যা এটি অনুসরণ করতে পারে ""% "অক্ষরটি অনিরাপদ কারণ এটি অন্যান্য অক্ষরের এনকোডিংয়ের জন্য ব্যবহৃত হয়। অন্যান্য অক্ষরগুলি অনিরাপদ কারণ গেটওয়ে এবং অন্যান্য পরিবহণ এজেন্ট কখনও কখনও এই জাতীয় অক্ষরগুলি সংশোধন করতে পারে বলে জানা যায়। এই অক্ষরগুলি হ'ল "{", "}", "|", "\", "^", "~", "[", "]", এবং "` "।

সমস্ত অনিরাপদ অক্ষর সর্বদা একটি URL এর মধ্যে এনকোড থাকা আবশ্যক। উদাহরণস্বরূপ, "#" অক্ষরটি অবশ্যই ইউআরএলগুলির মধ্যে এনকোড করা আবশ্যক এমনকি এমন সিস্টেমেও যেগুলি সাধারণত খণ্ডগুলি বা অ্যাঙ্কর শনাক্তকারীদের সাথে ডিল করে না, যাতে ইউআরএল অন্য সিস্টেমে অনুলিপি করা হয় যা সেগুলি ব্যবহার করে তবে এটি পরিবর্তন করা প্রয়োজন হবে না ইউআরএল এনকোডিং।

সুতরাং আইআইএস সক্রিয়ভাবে এটিকে মূল স্তরে অবরুদ্ধ করে, তাদের আক্রমণ পৃষ্ঠকে কমানোর জন্য একটি সক্রিয় সুরক্ষা ব্যবস্থা।


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

1
ত্রুটিগুলি নিজেই পরিচালনা করার জন্য কিছু বলার আছে, তবে যদি আপনার জন্য স্পষ্টভাবে স্পষ্ট ব্যর্থতাগুলি পরিচালনা করা হয় তবে এটি একটি দুর্দান্ত বোনাস। আইআইএস এর মাধ্যমে অক্ষরগুলিকে অনুমতি দেওয়া উচিত নয় যা এনটিএফএস ফাইল সিস্টেমের কোনও ফাইল বা ফোল্ডারের সাথে মিলে না। এটি ফোল্ডারের পথ দিয়ে কী করতে হবে তা জানত না। যদি এটি কোনও বৈধ চরিত্রের সমান কোনও চরিত্রের প্যাটার্ন না হয়, তবে কী করা উচিত তার সিদ্ধান্ত নেওয়া দরকার। এই ক্ষেত্রে এটি প্রদর্শিত হয় যে এটি অবৈধ অক্ষরগুলি উপেক্ষা করার পরিবর্তে অবরুদ্ধকে উত্সর্গীকৃত হয়েছিল।
স্কট ফোর্সিথ - এমভিপি

@ থেকায়েডো যেমন স্কট বলেছিলেন তেমনি অসম্পূর্ণ ইউআরএলগুলি পার্স করার কোনও মানে হয় না। আপনি কী ধরণের কাস্টম ত্রুটি পৃষ্ঠা তৈরি করতে পারেন যেহেতু ব্যবহারকারী কী করার চেষ্টা করছেন আপনার কোনও ধারণা নেই (যেহেতু অনুরোধটি অসম্পূর্ণ)। নোট করুন আইই 9 আপনাকে একটি অপূর্ণ অনুরোধ সহ সার্ভারে উঠতে দেবে না
জিম বি

আমি এই সমস্ত কিছুর অন্তর্নিহিত বুঝতে পারি তবে আপাচি এবং অন্যান্য ওয়েব সার্ভারগুলি আইআইএসের মতো এটির অনুমতি দেয়। অযুচিতভাবে পালানো ইউআরএল হ'ল কেবলমাত্র ইউআরএল এর আইআইএস আপনাকে আমার জানা বিষয়গুলি পরিচালনা করতে দেয় না। আইআইএসকে এমন অন্যান্য অক্ষরগুলির অনুমতি দেওয়া উচিত এবং যা এনটিএফএস ফাইল সিস্টেমে মানচিত্র দেয় না কারণ আমার সাইটটি এএসপি.নেট এমভিসি ব্যবহার করে নির্মিত হয়েছে যেখানে অনুরোধগুলি ফাইল-ভিত্তিক সংস্থানিত সংস্থানগুলিতে পাঠানো হবে।
বিকেইড

আসলে আমি এনটিএফএসে% সম্পর্কে সঠিকভাবে দাঁড়িয়ে আছি। এটি বেশিরভাগ অন্যান্য চরিত্রের সাথে অনুমোদিত: en.wikedia.org/wiki/Ntfs । (ফাইলের নামগুলিতে অনুমোদিত অক্ষরের সন্ধান করুন)।
স্কট ফোর্সিথ - এমভিপি

3

আমি 3 টি সম্ভাব্য উপায় সম্পর্কে ভাবতে পারি

  1. আইআইএসকে সাধারণত 400 টির ত্রুটির জন্য কাস্টম পৃষ্ঠায় নির্দেশ করুন

  2. এটি যদি আইআইএসের নির্দিষ্ট কোনও ওয়েবসাইটে অনন্য হয় তবে আপনি ওয়েবকনফাইগ এ জাতীয় কিছু করতে পারেন:

    <কাস্টমআরিয়ার্স ডিফল্টরাইরেক্ট = "ত্রুটিপেজ.এএসপিএক্স" মোড = "চালু">
    <ত্রুটি স্থিতি কোড = "400" পুনর্নির্দেশ = "মাইক্রাস্টম 400 এরর.এএসপিএক্স" />
    </customErferences>

  3. এমন একটি পোস্টমুডুল লিখুন যা আগত ইউআরএলগুলি পরীক্ষা করে এবং সেগুলি পরিচালনা করে


4
এর মধ্যে কোনও কাজই নয় - আইআইএস কখনও অনুরোধের পাশ দিয়ে যায় না।
বিকেড

বিকল্প # 1 এর কাজই করা উচিত কারণ তা আইআইএস ত্রুটির প্রতি কীভাবে প্রতিক্রিয়া দেখায়
ডেভ ওয়াইজ

4
আমি আবার বিকল্প 1 এবং # 2 চেষ্টা করেছিলাম এবং তাদের উভয়ই কাজ করে না। স্কট উল্লেখ করার মতো আইআইএস এই অনুরোধটি বিশেষভাবে পরিচালনা করছে।
বিকেইড

3

এই চারপাশের একমাত্র উপায়টি আইআইএস কার্নেলটি পারার আগে ইউআরএল পরীক্ষা করার মতো।

আপনার শেষ ব্যবহারকারীকে সেই ইউআরএলে ফরোয়ার্ড করার আগে আপনার চেক করার জন্য আপনার গতিশীল জেনারেট লিঙ্কগুলি তাদের স্ক্রিপ্টের মাধ্যমে প্রেরণ করতে হবে ...

এই ব্যতীত, আপনি জানেন যে এটিই একমাত্র পরিস্থিতি যেখানে আইআইএস এটি আপনার পছন্দ মতো পরিচালনা করবে না। সুতরাং, নির্মূলকরণের প্রক্রিয়া অনুসারে, আপনার যদি একটি অনাবন্ধিত অনুরোধ থাকে তবে আপনি জানেন যে এটি কী কারণে ঘটেছে।

সম্ভবত কোনও কাস্টম 400 পৃষ্ঠায় রেফারার চেক করা ট্রাফিকের উত্সকে সঙ্কুচিত করতে সহায়তা করবে?


2

আইআইএস ফোরামের এই পোস্টটি ইঙ্গিত দেয় যে এইচটিটিপি 400 (খারাপ অনুরোধ) HT.sys দ্বারা অবরুদ্ধ এবং আইআইএস-এ এটি করবেন না যা @ স্কট ফোরসিথ - এমভিপি তার মূল উত্তরের অন্তর্ভুক্ত লিঙ্কগুলির সাথে মেলে।

আপনি সি: \ উইন্ডোজ \ System32 \ লগফায়ার্স \ HTTPERR under এর অধীনে এই অনুরোধগুলির একটি লগ দেখতে পারেন

আমি জানি না যে আপনি এই ধরণের ত্রুটির জন্য ব্যবহারকারীকে ফেরত পাঠানো প্রতিক্রিয়া পৃষ্ঠাটি কনফিগার করতে পারবেন কিনা তবে বিং এই সমস্যাটি ভোগ করেও আমি সন্দেহ করি যে এটি সম্ভব নয় বা এর জন্য কিছু ভয়াবহ সিস্টেম হ্যাকের প্রয়োজন হবে।

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