تخطَّ إلى المحتوى
Gurdx

التوثيق / أدلة حالات الاستخدام

التخصيص حسب موقع الزائر

استخدم عنوان IP للزائر لضبط اللغة والعملة والمحتوى وسلوك الامتثال دون أن تسأله أي سؤال.

المشكلة#

عرض لغة أو عملة أو إشعار قانوني خاطئ يسبب احتكاكًا، وسؤال الزائر في كل مرة يضر بالتحويل. يمنحك الموقع الجغرافي لـ IP تخمينًا أوليًا جيدًا يمكنك تحسينه.

الإشارات التي تُدمج#

خطوات التكامل#

  1. في أول طلب ضمن الجلسة اقرأ IP الزائر على خادمك (انتبه لترويسات الوكيل أو CDN).
  2. استدعِ الموقع الجغرافي مرة واحدة وخزّن النتيجة في الجلسة أو ملف تعريف ارتباط طوال الزيارة.
  3. اختر القيم الافتراضية: اللغة والعملة وخيارات الشحن ومنطقة المتجر وشريط ملفات الارتباط وقواعد الموافقة.
  4. دع الزائر يغيّر الاختيار دائمًا، واحفظ تغييره.
  5. تخطَّ التخصيص إن وُسم IP كبروكسي أو VPN، وارجع إلى لغة المتصفح.
// Express middleware
app.use(async (req, res, next) => {
  if (req.session.geo) return next();
  const ip = req.headers['x-forwarded-for']?.split(',')[0] ?? req.ip;
  try {
    const r = await fetch(`https://gurdx.cretip.com/api/geoip?ip=${ip}&lang=EN`, {
      headers: { Authorization: `Bearer ${process.env.GURDX_KEY}` },
      signal: AbortSignal.timeout(2000),
    });
    const body = await r.json();
    if (body.status === 'success') {
      req.session.geo = {
        country: body.data.countryCode,
        city: body.data.cityName,
        timezone: body.data.timezone?.name,
      };
    }
  } catch { /* personalise with defaults */ }
  next();
});

Tip: استخدم مهلة قصيرة وقيمة افتراضية معقولة. يجب ألا يؤخر التخصيص الصفحة أو يعطّلها.

نصائح عملية#

  • خزّن النتيجة لكل IP بضع ساعات لتوفير الطلبات، فنادرًا ما تتغير دولة الزيارة الواحدة.
  • استخدم الدولة للقيم الافتراضية لا للحظر، إلا إذا وُجد متطلب قانوني. موقع IP تقريبي وخاطئ لبعض مستخدمي الجوال والشركات.
  • مرّر المعامل lang للحصول على الأسماء بلغة الزائر.
  • في المحتوى الخاضع للأنظمة مثل موافقة ملفات الارتباط أو إشعارات العمر اعتبر نتيجة IP تلميحًا، وطبّق القاعدة الأشد عند الشك.

مرجع ذو صلة: الموقع الجغرافي لـ IP. وللاستخدامات الأمنية للبيانات نفسها انظر الاستيلاء على الحسابات.

وجدت خطأ؟ أخبرنا عبر صفحة التواصل. تواصل معنا