আপনার সাইটে একজন দর্শনার্থীর আইপি ঠিকানার মাধ্যমে আপনি তাঁর সম্পর্কে অনেক কিছু জানতে পারবেন - দেশ, শহর, ইন্টারনেট সরবরাহকারীর নাম এবং ইমেল ঠিকানা ইত্যাদি etc. তবে মূল মানটি হ'ল আইপি সার্ভার-সাইড স্ক্রিপ্টগুলির জন্য ভিজিটর আইডি হিসাবে পরিবেশন করতে পারে। নীচে বর্ণিত আছে কীভাবে আপনি পিএইচপি ব্যবহার করে আইপি ঠিকানা নির্ধারণ করতে পারেন।
এটা জরুরি
পিএইচপি এর প্রাথমিক জ্ঞান
নির্দেশনা
ধাপ 1
ব্রাউজারের অনুরোধ সার্ভারে প্রেরিত শিরোনামগুলি থেকে আইপি ঠিকানাটি বের করতে, জেনেটভ ফাংশনটি ব্যবহার করুন। এটি পরিবেশের ভেরিয়েবলগুলি থেকে এটিতে নির্দিষ্ট করা মানগুলি পড়ে reads REMOTE_ADDR নামের একটি পরিবর্তনশীল দর্শকের আইপি ঠিকানা সঞ্চয় করতে ব্যবহৃত হয়। যাইহোক, ক্লায়েন্ট একটি প্রক্সি সার্ভার ব্যবহার করতে পারে, সেক্ষেত্রে ভেরিয়েবলের ঠিকানাটি থাকবে এবং আপনি যা চান তা নয় not আপনি জানতে পারেন যে ওয়েব সার্ফার এইচটিটিপি_ভিআইএ এনভায়রনমেন্ট ভেরিয়েবলটি দেখে মধ্যবর্তী আইপি ব্যবহার করছে। চেইনের সাথে জড়িত প্রক্সি সার্ভারের সমস্ত ঠিকানা এটিতে রেখে দেওয়া হয়েছে, কমা দ্বারা আলাদা। অন্তর্বর্তী সার্ভারগুলি অবশ্যই HTTP_X_FORWARDED_FOR নামের একটি ভেরিয়েবলের মধ্যে দর্শকের ঠিকানা রাখতে হবে, তবে এটি সম্পূর্ণ প্রক্সি সেটিংসের উপর নির্ভর করে। এর অর্থ হ'ল আইপি ঠিকানাটি যতটা সম্ভব নির্ধারণের সম্ভাবনাগুলি কভার করার জন্য আপনাকে কমপক্ষে তিনটি ভেরিয়েবলের বিষয়বস্তু পরীক্ষা করতে হবে: REMOTE_ADDR, HTTP_X_FORWARDED_FOR, এবং সাধারণত
ধাপ ২
আপনি তিনটি ভেরিয়েবলগুলি চেক করে পিএইচপি কোডের এক লাইনে একত্রিত করতে পারেন, উদাহরণস্বরূপ:
ip ipAddr = getenv ('HTTP_CLIENT_IP') বা ip ipAddr = getenv ('HTTP_X_FORWARDED_FOR') বা ip ipAddr = getenv ('REMOTE_ADDR');
এইভাবে আইপি ঠিকানার মান অর্জন করে, এটি সম্ভাব্য বিকৃতি এবং অপ্রয়োজনীয় চরিত্রগুলি থেকে এটি পরিষ্কার করার পরামর্শ দেওয়া হয়। আপনি এটির জন্য একটি নিয়মিত প্রকাশটি ব্যবহার করতে পারেন:
ip ipAddr = ছাঁটাই (পূর্ববর্তী স্থান ('# ^ ([^,] +)) (,। *)? #', '$ 1', ip ipAddr));
ধাপ 3
এটি কোডের উভয় লাইনকে একটি ফাংশনে একত্রিত করার জন্য অবশেষ:
ফাংশন getIP () {
ip ipAddr = getenv ('HTTP_CLIENT_IP') বা ip ipAddr = getenv ('HTTP_X_FORWARDED_FOR') বা ip ipAddr = getenv ('REMOTE_ADDR');
রিটার্ন ট্রিম (প্রিগ_রিপ্লেস ('# ^ ([^,] +) (,। *)? #', '$ 1', $ ipAddr));
}