• 0

كيف أتأكد من وجود IP في مجال معين في ريلز؟

لنفترض أن لدي IP معين مثل 62.154.211.31، كيف أتأكد ما إذا كان هذا IP موجود في مجال معين مثل 62.0.0.0 و62.255.255.255 ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

توجد عدة طرق في روبي أو في ريلز للتأكد من ذلك فيمكنك على سبيل المثال تحويل جميع هذه الأرقام إلى أعداد صحيح عن طريق تابع to_i بعد أن تقوم بتحويلها عن طريق IPAddr ومن ثم تتأكد ببساطة من وجود IP الذي تريده مع المجال كما في المثال التالي:

>> require "ipaddr"
=> true
>> low = IPAddr.new("62.0.0.0").to_i
=> 1040187392
>> high = IPAddr.new("62.255.255.255").to_i
=> 1056964607
>> ip = IPAddr.new("62.156.244.13").to_i
=> 1050473485
>> (low..high)===ip
=> true


أما إذا أردت التأكد من وجود IP في شبكة معينة فسيكون هذا أسهل بكثير كما في المثال التالي:
 

>> net = IPAddr.new("62.0.0.0/8")
=> #<IPAddr: IPv4:62.0.0.0/255.0.0.0>
>> net==="62.154.244.31"
=> true

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن