উত্তর:
এটি HTTP referer
শিরোনামে উপলব্ধ । আপনি এটি নিম্নোক্তভাবে একটি সার্লেটে পেতে পারেন:
String referrer = request.getHeader("referer"); // Yes, with the legendary misspelling.
তবে আপনাকে বুঝতে হবে যে এটি একটি ক্লায়েন্ট-নিয়ন্ত্রিত মান এবং এইভাবে সম্পূর্ণ আলাদা বা এমনকি মুছে ফেলা এমন কিছুতে এটি ছদ্মবেশী হতে পারে। সুতরাং, এটি যেই মান ফিরে আসে, আপনার এটি ব্যাকএন্ডের কোনও সমালোচনামূলক ব্যবসায়িক প্রক্রিয়াগুলির জন্য ব্যবহার করা উচিত নয়, তবে কেবল উপস্থাপনা নিয়ন্ত্রণের জন্য (উদাহরণস্বরূপ লুকানো / দেখানো / নির্দিষ্ট খাঁটি বিন্যাসের অংশ পরিবর্তন করা) এবং / অথবা পরিসংখ্যান।
আগ্রহীদের জন্য, ভুল বানান সম্পর্কে পটভূমি উইকিপিডিয়ায় পাওয়া যাবে ।
null
।
প্রকৃতপক্ষে এটি:
request.getHeader("Referer")
বা আরও উন্নত এবং 100% নিশ্চিত হতে হবে
request.getHeader(HttpHeaders.REFERER)
, যেখানে এইচটিপিএইচাইডার্সcom.google.common.net.HttpHeaders
getHeader(String name)
(উদ্ধৃতি):"The header name is case insensitive."
org.apache.http.HttpHeaders
সবাই যেমন উল্লেখ করেছে
request.getHeader("referer");
আমি গৃহীত উত্তরের বিপরীতে রেফার শিরোনামের সুরক্ষা দিক সম্পর্কে আরও কিছু বিশদ যুক্ত করতে চাই । ক্রস সাইট রিকোয়েস্ট ফোরজি (সিএসআরএফ) প্রতিরোধ চিট শিট এর অধীনে ওপেন ওয়েব অ্যাপ্লিকেশন সুরক্ষা প্রকল্পে ( ওডাব্লুএএসপি ) চিট শিটগুলিতে রেফার শিরোনামের গুরুত্ব সম্পর্কে উল্লেখ করা হয়েছে ।
আরও গুরুত্বপূর্ণ বিষয় এই প্রস্তাবিত একই অরিজিন চেকের জন্য, বেশ কয়েকটি এইচটিটিপি অনুরোধ শিরোনাম জাভাস্ক্রিপ্ট দ্বারা সেট করা যায় না কারণ তারা 'নিষিদ্ধ' শিরোনামের তালিকায় রয়েছে। কেবলমাত্র ব্রাউজারগুলিই এই শিরোলেখগুলির জন্য মানগুলি সেট করতে পারে, এগুলিকে আরও বিশ্বাসযোগ্য করে তোলে কারণ কোনও এক্সএসএস দুর্বলতা এমনকি এগুলি সংশোধন করতে ব্যবহার করা যায় না।
উত্স উত্স চেক এখানে প্রস্তাবিত এই সুরক্ষিত তিনটি শিরোনামের উপর নির্ভর করে: উত্স, রেফারার এবং হোস্ট, এটি একেবারে নিজস্ব সিএসআরএফ প্রতিরক্ষা তৈরি করে।
আপনি এখানে নিষিদ্ধ শিরোনাম তালিকা উল্লেখ করতে পারেন । ব্যবহারকারীর এজেন্ট (যেমন: ব্রাউজার) এর ব্যবহারকারীদের নয় এই শিরোলেখগুলির সম্পূর্ণ নিয়ন্ত্রণ রয়েছে।