الرئيسية     | الشروط والقوانين  | سياسة الخصوصية | اتصل بنا | الأرشيف |  RSS
  

 

يمنع منعا باتا طرح موضوع إعلاني دون مخاطبة الأدارة

 


العودة   منتدى الشبكة الكويتية > قســـــ تطوير المواقع ـــــــــم > تطويــــر المنتديــ VB3 ـات

تطويــــر المنتديــ VB3 ـات هاكات :: تمبلتات :: اكواد

 
أدوات الموضوع
  #1  
قديم 30-06-2005, 05:55 AM
الصورة الرمزية VIP
VIP VIP متصل الآن

AdminiStrator

 





VIP كاتب مميزVIP كاتب مميزVIP كاتب مميزVIP كاتب مميز
افتراضي طريقة تحديد (( IP )) للمستخدم..][ مهم جدا][..

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

الشرح هذا نقلاً عن حبيبنا الأخ الوافي

الله يحفظه ويطول بعمره::

عند تركيبك لمنتديات vbulletin واستخدامها ستجد ان الأيبي الذي يظهر في المشاركات لبعض الأعضاء غير صحيح والسبب هو أن تحديد منتديات الـ vbulletin يعتمد في الأساس على أيبي الجهه وليس الأيبي الحقيقي للعضو .

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

إذن هذه مشكله موجوده في منتديات الـ vbulletin لذلك قمت بالبحث في النسخه ووجدت طريقة تحديد الأيبي موجوده في ملف init.php وقمت بإعادة طريقة البرمجه بحيث يصبح تحديد الأيبي معتمداً على الأيبي الحقيقي وليس أيبي البروكسي .

1- إفتح ملف init.php
2- قم بالبحث عن الأسطر التاليه :
// ################################################## ###########################
// establish client IP address
define('IPADDRESS', $_SERVER['REMOTE_ADDR']);

// check several settings for the ip; good for not grabbing proxy IPs, but can still be problematic
if ($_SERVER['HTTP_CLIENT_IP'])
{
define('ALT_IP', $_SERVER['HTTP_CLIENT_IP']);
}
else if ($_SERVER['HTTP_X_FORWARDED_FOR'] AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3 }#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches))
{
// make sure we dont pick up an internal IP defined by RFC1918
foreach ($matches[0] AS $ip)
{
if (!preg_match("#^(10|172\.16|192\.168)\.#", $ip))
{
define('ALT_IP', $ip);
break;
}
}
}
else if ($_SERVER['HTTP_FROM'])
{
define('ALT_IP', $_SERVER['HTTP_FROM']);
}
else
{
define('ALT_IP', $_SERVER['REMOTE_ADDR']);
}
3- قم باستبدالها بالأسطر التاليه :
// ################################################## ###########################
// establish client IP address
// check several settings for the ip; good for not grabbing proxy IPs, but can still be problematic
if ($_SERVER['HTTP_X_FORWARDED_FOR'] AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3 }#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches))
{
// make sure we dont pick up an internal IP defined by RFC1918
foreach ($matches[0] AS $ip)
{
if (!preg_match("#^(127|10|172\.16|192\.168)\.#", $ip))
{
define('IPADDRESS', $ip);
define('ALT_IP', $_SERVER['HTTP_CLIENT_IP']);
define('ALT_IP2', $_SERVER['REMOTE_ADDR']);
break;
}
}
}
else if ($_SERVER['HTTP_CLIENT_IP'])
{
define('IPADDRESS', $_SERVER['HTTP_CLIENT_IP']);
define('ALT_IP', $_SERVER['REMOTE_ADDR']);
define('ALT_IP2', 'N/A');

}
else if($_SERVER['REMOTE_ADDR'])
{
define('IPADDRESS', $_SERVER['REMOTE_ADDR']);
define('ALT_IP', 'N/A');
define('ALT_IP2', 'N/A');
}
else if($_SERVER['HTTP_FROM'])
{
define('ALT_IP', $_SERVER['REMOTE_ADDR']);
define('ALT_IP2', 'N/A');
define('IPADDRESS', $_SERVER['HTTP_FROM']);
}else{
define('IPADDRESS', 'Anonymous');
define('ALT_IP2', 'Anonymous');
define('ALT_IP', 'Anonymous');
}

if(!defined('IPADDRESS') || !defined('ALT_IP')){
define('IPADDRESS', 'Anonymous');
define('ALT_IP', 'Anonymous');
define('ALT_IP2', 'Anonymous');
}


4- قم بالبحث عن الأسطر التاليه
define('SESSION_IDHASH', md5($_SERVER['HTTP_USER_AGENT'] . ALT_IP )); // this should *never* change during a session
define('SESSION_HOST', substr(IPADDRESS, 0, 15));
define('USER_AGENT', $_SERVER['HTTP_USER_AGENT']);
define('REFERRER', $_SERVER['HTTP_REFERER']);


5- استبدلها بالأسطر التاليه :
define('SESSION_IDHASH', md5($_SERVER['HTTP_USER_AGENT'] . substr(IPADDRESS, 0, 15) )); // this should *never* change during a session
define('SESSION_HOST', substr(IPADDRESS, 0, 15));
define('USER_AGENT', $_SERVER['HTTP_USER_AGENT']);
define('REFERRER', $_SERVER['HTTP_REFERER']);


6- إحفظ الملف وقم برفعه .

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

 

 

توقيع : VIP

قديم 04-07-2005, 01:38 PM   رقم المشاركة : 2
~*~عاطفية~*~
عضو الماسي
 
الصورة الرمزية ~*~عاطفية~*~






~*~عاطفية~*~ غير متصل

~*~عاطفية~*~ كاتب رائع~*~عاطفية~*~ كاتب رائع


افتراضي

الله يعطيك الف عافيه على الشرح







مواضيع ذات صله تطويــــر المنتديــ VB3 ـات

طريقة تحديد (( IP )) للمستخدم..][ مهم جدا][..



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
حكم تحديد النسل Nathyaa المنـتدى الاسـلامي 10 07-09-2005 07:55 AM
هاك تحديد المشاركات اليومية VIP تطويــــر المنتديــ VB3 ـات 1 23-05-2005 05:22 PM
تجديد الحياة الزوجيه Nathyaa منـتدى الأ ســرة 6 12-11-2004 06:25 PM

الساعة الآن 01:10 AM
جميع الحقوق محفوظة لـ الشبكة الكويتية

التعليقات المنشورة لا تعبر عن رأي الشبكة الكويتية ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر

RSS RSS 2.0 XML MAP HTML