আমি কি এইচটিএমএল ভিত্তিক লগইন ফর্মটিতে একটি 4040 স্থিতি কোডটি ফিরিয়ে আনতে পারি?


11

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

মানদণ্ডগুলি দেখে মনে হচ্ছে 401 এইচটিএমএল ভিত্তিক লগইন ফর্মগুলির জন্য একটি অনুপযুক্ত স্থিতির কোড। যাইহোক, আমি এরকম কোনও খারাপ পরিণতি কখনও অভিজ্ঞতা বা শুনিনি।

401 প্রেরণ করার সময়, "প্রতিক্রিয়াটির মধ্যে একটি WWW- প্রমাণীকরণ শিরোনাম ক্ষেত্র অন্তর্ভুক্ত থাকতে হবে (অনুচ্ছেদ 14.47) অনুরোধকৃত উত্সের ক্ষেত্রে প্রযোজ্য একটি চ্যালেঞ্জ রয়েছে" "

প্রয়োজনীয়তা এখানে উল্লিখিত:

http://tools.ietf.org/html/rfc2616#section-10.4.2

এখানে বিস্তারিত:

http://tools.ietf.org/html/rfc2617#section-3.2.1

আমি জানি যে লগইন ফর্মের উপস্থিতির উপর ভিত্তি করে পৃষ্ঠাগুলি সূচীকরণে নিশ্চিত করার জন্য অনুসন্ধানের ইঞ্জিনগুলির আশেপাশে কাজ করতে পারি বা না, তবে আমি এইচডিপি স্থিতি কোডগুলি ব্যবহার করতে পছন্দ করব, বিশেষত 401 যেহেতু এর সংজ্ঞাটি মনে হয় ডাব্লুডাব্লুডাব্লু-প্রমাণীকরণ শিরোনাম প্রয়োজনের জন্য না হলে নিখুঁত মিল।

এই ক্ষেত্রে আমার 401 ব্যবহার না করার কোনও কারণ আছে কি? শব্দার্থগতভাবে কি অ্যাপ্লিকেশন পর্যায়ে অনুমোদিত হওয়ার বিপরীতে HTTP স্তরে অনুমোদিত না হওয়াতে কোনও পার্থক্য রয়েছে? স্পষ্টতই আপনার উভয় থাকতে পারে, তবে কেবলমাত্র অ্যাপ্লিকেশন পর্যায়ে এটি প্রয়োগ না করার স্বাচ্ছন্দ্যের জন্য HTTP পর্যায়ে প্রমাণীকরণ নয়?

উত্তর:


9

আপনি যেমন নোট করেছেন, আরএফসি 2616 এর জন্য একটি 401 প্রতিক্রিয়া একটি আরএফসি 2617 ডাব্লুডাব্লুডাব্লু-প্রমাণীকরণ শিরোনামের সাথে থাকা উচিত। আমি মনে করি আপনি প্রযুক্তিগতভাবে বোগাস শিরোনামের মতো প্রেরণ করে প্রয়োজনীয়তাটি মেনে চলতে পারেন:

WWW-Authenticate: Bogus realm="blahblah", comment="use form to log in"

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

একটি সম্ভাব্য বিকল্প (আপনি যদি সবার মতো করে 200 টি প্রতিক্রিয়া ব্যবহার করতে না চান তবে) 403 নিষিদ্ধ স্থিতি কোড ব্যবহার করা হবে । এটি একটি বহুল ব্যবহৃত প্রতিক্রিয়া কোড এবং যতদূর আমি জানি, প্রায় সমস্ত ইন্টারেক্টিভ ব্যবহারকারী এজেন্ট (যেমন ব্রাউজারগুলি, যেমন, অনুসন্ধান ইঞ্জিন বা ডাউনলোড পরিচালকদের বিরোধিতা করে) কমপক্ষে ব্যবহারকারীর কাছে সামগ্রী উপস্থাপনের মাধ্যমে এর প্রতিক্রিয়া জানাতে হবে যদি এটা দীর্ঘ যথেষ্ট

যদিও ৪০৩ টি স্থিতির কোডের বিবরণে বলা হয়েছে যে "[এ] অনুমোদন সাহায্য করবে না", এটি আইএমওকে আরএফসি 2617 প্রমাণীকরণ বা অনুরূপ প্রোটোকল-স্তরের অনুমোদনের প্রক্রিয়া হিসাবে উল্লেখ করা উচিত; যতদূর ব্রাউজারটি সম্পর্কিত, কোনও ফর্ম জমা দেওয়ার এবং প্রতিক্রিয়ার কুকি "অনুমোদন" বা অন্য কিছু হিসাবে গণ্য করার কোনও ধারণা নেই।

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

যাই হোক, আপনি লগইন করার পরে দোকান প্রমাণীকরণের টোকেনগুলি আপনাকে HTTP কুকিজ ব্যবহার করছেন, তাহলে আপনি একটি অন্তর্ভুক্ত করা উচিত Vary আপনার প্রতিক্রিয়া হেডার (উভয় আগে ও পরে প্রমাণীকরণ) হিসাবে, অনুপযুক্ত ক্যাশে প্রতিরোধ Vary: Cookie


2

প্রথমত, যদি পৃষ্ঠাটির লগইন দরকার হয়, তবে আপনার সম্ভবত এটি রোবটস টেক্সট দ্বারা ব্লক করা উচিত

দ্বিতীয়ত, যদি রোবটগুলি পৃষ্ঠায় পৌঁছে যায় তবে একটি 401 ত্রুটি যথাযথ।


0

সম্ভবত, স্ট্যাটাস কোডগুলি মানবেতর [এবং কিছু ব্রাউজারগুলির জন্য কার্যকর হতে পারে? ]

লগইন পদ্ধতি দ্বারা স্বাধীনভাবে, সঠিক শিরোনাম প্রেরণ করা উচিত

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

ব্যবহারকারী তালিকা হিসাবে একই ডাটাবেস ব্যবহার করে উভয় পদ্ধতিতে আপনার লগইন অ্যাপ্লিকেশনটি প্রয়োগ করতে পারেন

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