ما هي قيم الإرجاع المحتملة للحصول على $ _Server ["Remote_addr"]؛؟

StackOverflow https://stackoverflow.com/questions/1527098

  •  20-09-2019
  •  | 
  •  

سؤال

في كتابة وحدة تسجيل الدخول، أريد تسجيل الدخول إلى IP كتدبير إضافي للتحقق من من هو على الجانب الآخر لا يزال الشخص نفسه على الجانب الآخر.

أنا استخدم $_SERVER['REMOTE_ADDR'] كواحد (العديد من الطرق) للحصول على عنوان IP للآلة البعيدة. بصرف النظر عن عنوان IPv4 أو IPv6، هل هناك أي قيم أخرى يجب أن أتوقعها هذا للعودة؟

هل كانت مفيدة؟

المحلول

لا يوجد حقا أمان إضافي للتحقق من عناوين IP نظرا لأن هذه يمكن أن تكون مسخنها بسهولة وأي شخص ذكيا بما يكفي لتخصص المعاملات بعد القيام بذلك على أي حال.

أيضا، قد تكون أكثر إثارة للمستخدمين الشرعيين. فكر في الحالة التي قد يكون فيها الشخص في موقع حيث يوجد العديد من النقاط الساخنة المفتوحة الواي فاي مجانية. عند الوصول إلى صفحة تسجيل الدخول الخاصة بك، قد تكون متصلا بالنقطة الساخنة واحدة ولكن بحلول الوقت الذي تسجل فيه، قد قررت جهازهم وجود جهاز توجيه آخر هو خيار أفضل وبالتالي سيتغير IP الخاص بهم. صدق ذلك أم لا، قد يردع هذا بعض (وإن كان ذلك) جداً قليل) المستخدمين المحبطين بسهولة.

بصراحة، أنا فقط لن أزعج. باستخدام SSL، إذا كنت تستطيع، عادة ما تكون أفضل طريقة للذهاب إلى تجنب مشكلات الأمان مثل الشخص الذي تصفه. حظا سعيدا مع المشروع الخاص بك.

نصائح أخرى

وفقا لوثائق PHP Online، يجب إرجاع عنوان IP فقط.

http://us.php.net/manual/en/reserved.variables.server.php.

"Remote_addr":

عنوان IP الذي يعرضه المستخدم الصفحة الحالية. "

يمكن أن تكون القيمة عنوان IPv4 أو IPv6. على الرغم من أنك ربما ستتدرك فقط القيم الكنسية بأنه يمكن كتابة عناوين IP بعدة طرق. 192.0.2.1 بالضبط مثل 192.000.002.001, 2001:db8::1 بالضبط مثل 2001:0db0:0000:0000:0000:0000:0000:0001, ، إلخ. يمكن كتابة عناوين IPv4 في تدوين IPv6 ::ffff:192.0.2.1 أو ::ffff:c000:0201 إذا قبل خادم الويب اتصالات IPv4 على مآخذ IPv6. أرى ذلك على أنظمة Linux كثيرا.

لا ينبغي أن تكون عناوين تسجيل الدخول مشكلة طالما حجز مساحة كافية. في الواقع باستخدام عناوين IP للتحكم في الوصول هو الحصول على المزيد والمزيد من الصعب هذه الأيام. نظرا لأن الأجزاء الكبيرة من العالم قد نفدت عناوين IPv4 الجديدة، سترى أن مزودي خدمة الإنترنت يجب أن يستخدموا NAT على نطاق واسع للحفاظ على توصيل العملاء الجدد بالإنترنت IPv4. ستستخدم هذه الناتج النطاق الكبير مجموعة من عناوين IPv4 العامة ربما لآلاف العملاء. يمكن استخدام عنوان IP واحد من قبل العديد من العملاء، وقد ينتهي عميل واحد باستخدام عناوين مختلفة من التجمع.

في IPv6 تتبع عنوان IP له أشياء أخرى يجب مراعاتها. تعتمد آلية التكوين التلقائي الأصلي IPv6 الأصلي على استخدام عنوان MAC كجزء من عنوان IPv6. بسبب الخصوصية المخاوف، تستخدم معظم أنظمة التشغيل الآن (نوع من) معرف الواجهة التي تم إنشاؤها عشوائيا (عادة ما تكون آخر 64 بت من العنوان) للاتصالات الصادرة، ويمكن أن تتغير هذه البتات / ستتغير مع مرور الوقت. تظهر بعض أنظمة التشغيل (Mac OS X) حتى إحصائيات حول ما إذا كانت IPv4 أو IPv6 أسرع وقد شاهدت للعملاء بدعم ذهابا وإيابا بين IPv4 و IPv6 في بعض الأحيان.

ثم يمكنك الحصول على مستخدمين يتجولون من نقطة اتصال لاسلكية واحدة أو شبكة مكتبية إلى أخرى، مما يؤدي إلى تبديل عناوين IP.

لذلك أعتقد أن تسجيل عناوين IP قد يكون منطقيا بناء على ما تريد القيام به مع البيانات، ولكن استخدامها ك (جزء من) قد يسبب نموذج التحكم في الوصول مشكلة أكثر مما يستحق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top