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

سؤال عن visitor في جدول member

موضوع مغلق


  • تمت الإجابة
04-11-2017 01:54 صباحاً
kareem
معلومات الكاتب
بسم الله الرحمن الرحيم



سؤالي عن الحقل visitor في الجدول member ، هل هو دقيق وصحيح للإعتماد عليه لإحتساب مرات دخول المنتدى؟



وهل ممكن احد يتحايل عليها انه يمسح الكوكيز مثلا؟؟ وشكراً

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 08:03 صباحاً   [1]
Soliman
معلومات الكاتب
نعم يمكن التحايل بتسجيل الدخول بشكل متكرر لزيادة عدد الزيارات ، وذلك من خلال تسجيل الخروج من المنتدى ثم تسجيل الدخول بشكل متكرر



إذا كنت ستربط عدد الزيارات بزيادة نقاط المتجر وماشابه

فيجب ان تضيف تعديل على ملف : login.module.php



بالبحث عن :

CODE
​$PowerBB->core->Deleted($DelArr,'online');


وأضف اسفله:

CODE
            $change = $PowerBB->_CONF['now'] - $IsMember['lastvisit'];
            if ( $change > 86400)
            {




ثم ابحث عن :

CODE
​$url = parse_url($PowerBB->_SERVER['HTTP_REFERER']);


وأضف أعلاه :

CODE
}<br />




بهذه الطريقة أعتقد سيمنع التحايل

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 11:02 صباحاً   [2]
عبدالاله الهذلي
معلومات الكاتب
وعليكم السلام ورحمة الله وبركاته



صراحة كنت بسوي موضوع بخصوص عدد المشاهدين

لأني يوم سويت عدد المشاهدين بنفس الموضوع

الخاص بالعضوية كل ما اسوي F5 لصفحة يتدبل عدد المشاهدين

https://pbboard.info/forums/t20260

هل هذه الطريقة ستنجح في اغلاق حركة التدبيل اخ سليمان ؟.

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 05:56 مساءً   [3]
kareem
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: عبدالاله الهذلي وعليكم السلام ورحمة الله وبركاته



صراحة كنت بسوي موضوع بخصوص عدد المشاهدين

لأني يوم سويت عدد المشاهدين بنفس الموضوع

الخاص بالعضوية كل ما اسوي F5 لصفحة يتدبل عدد المشاهدين

https://pbboard.info/forums/t20260

هل هذه الطريقة ستنجح في اغلاق حركة التدبيل اخ سليمان ؟.



لا الموضوع يختلف عن سؤالك، يمكنك منع زيادة مرات المشاهدة عند تحميل صفحة الموضوع بحفظ رقم المشاركة في معرف جلسة مثلا id

CODE
$_SESSION['id']




وتعدل على مديول عرض الموضوع يقارن رقم الموضوع بالرقم id في الجلسة إذا كان نفسه لا يزيد واحد. ايضا يمكن التحايل على ذلك بزيارة صفحة ثانية والعودة لصفحة الموضوع. مرات زيارة الصفحة غير مهم كثيراً فقط ليعرف المدير المواضيع الأكثر اهتماماً.

تم تحرير المشاركة بواسطة :kareem بتاريخ:04-11-2017 05:57 مساءً


look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 06:10 مساءً   [4]
kareem
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: Soliman نعم يمكن التحايل بتسجيل الدخول بشكل متكرر لزيادة عدد الزيارات ، وذلك من خلال تسجيل الخروج من المنتدى ثم تسجيل الدخول بشكل متكرر



إذا كنت ستربط عدد الزيارات بزيادة نقاط المتجر وماشابه

فيجب ان تضيف تعديل على ملف : login.module.php



بالبحث عن :

CODE
​$PowerBB->core->Deleted($DelArr,'online');


وأضف اسفله:

CODE
            $change = $PowerBB->_CONF['now'] - $IsMember['lastvisit'];
            if ( $change > 86400)
            {




ثم ابحث عن :

CODE
​$url = parse_url($PowerBB->_SERVER['HTTP_REFERER']);


وأضف أعلاه :

CODE
}<br />




بهذه الطريقة أعتقد سيمنع التحايل



شكرا لك من الصعب الطلب من احد عمل تعديل على منتداه وممكن يتم حذف التعديل مع التحديث التلقائي اذا تم عليه ايضاً ممكن الحقل visitor ان لا يكون دقيق لعدد الزيارات السابقة. من الافضل عمل حقل جديد والزيادة عليه اذا تحقق الشرط $change الذي ذكرته.



جاري تجربته لأيام لمعرفة النتيجة.

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 08:05 مساءً   [5]
Soliman
معلومات الكاتب
اقتبـاس ،، شكرا لك من الصعب الطلب من احد عمل تعديل على منتداه وممكن يتم حذف التعديل مع التحديث التلقائي اذا تم عليه ايضاً ممكن الحقل visitor ان لا يكون دقيق لعدد الزيارات السابقة. من الافضل عمل حقل جديد والزيادة عليه اذا تحقق الشرط $change الذي ذكرته.



جاري تجربته لأيام لمعرفة النتيجة. ​

لاحاجة لأن تطلب من أحد التعديل على منتداه سؤال عن visitor في جدول member

يمكنك اضافة هذا التعديل في نفس الملحق عند التركيب



فقط اضف هذا الخطاف

CODE
<hook main_place="lastvisit_members_update" place="lastvisit_members_update"><![CDATA[
$change = $PowerBB->_CONF['now'] - $IsMember['lastvisit'];
if ( $change > 86400)
{
$IsMember['visitor'] = $IsMember['visitor'] - 1;
}
]]> </hook>




وبداخل الـ installcode أضف هذا الكود

CODE
$PathW = "modules/login.module.php";
if(file_exists($PathW)){
$finded = "online');";
$actiond = 'eval($PowerBB->functions->get_fetch_hooks("lastvisit_members_update"));';
$contentss = file_get_contents($PathW);
$newQ    =    str_replace($finded,$finded."\n".$actiond, $contentss);
$putd = file_put_contents($PathW,$newQ);
}




مثال في المرفقات
 
  ins_lastvisit_of_vistor.zip   تحميل zip مرات التحميل :(4)
الحجم :(0.74) KB

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 08:26 مساءً   [6]
kareem
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: Soliman
اقتبـاس ،، شكرا لك من الصعب الطلب من احد عمل تعديل على منتداه وممكن يتم حذف التعديل مع التحديث التلقائي اذا تم عليه ايضاً ممكن الحقل visitor ان لا يكون دقيق لعدد الزيارات السابقة. من الافضل عمل حقل جديد والزيادة عليه اذا تحقق الشرط $change الذي ذكرته.



جاري تجربته لأيام لمعرفة النتيجة. ​

لاحاجة لأن تطلب من أحد التعديل على منتداه سؤال عن visitor في جدول member

يمكنك اضافة هذا التعديل في نفس الملحق عند التركيب



فقط اضف هذا الخطاف

CODE
<hook main_place="lastvisit_members_update" place="lastvisit_members_update"><![CDATA[
$change = $PowerBB->_CONF['now'] - $IsMember['lastvisit'];
if ( $change > 86400)
{
$IsMember['visitor'] = $IsMember['visitor'] - 1;
}
]]> </hook>




وبداخل الـ installcode أضف هذا الكود

CODE
$PathW = "modules/login.module.php";
if(file_exists($PathW)){
$finded = "online');";
$actiond = 'eval($PowerBB->functions->get_fetch_hooks("lastvisit_members_update"));';
$contentss = file_get_contents($PathW);
$newQ    =    str_replace($finded,$finded."\n".$actiond, $contentss);
$putd = file_put_contents($PathW,$newQ);
}




مثال في المرفقات





حلو ولكن رأيت انه عدل على ملف login.module.php إذا شخص رفع الملف بشكل يدوي بدل الموجود او بواسطة تحديث البرنامج لن يعمل الهاك. وهناك خوف ان يكون حقل visitor لأحد ألأعضاء فيه رقم خيالي لانه كان يظل يسجل خروج ودخول كل يوم عدة مرات.

ما تم عمله للتجربة اضافة حقل store_visitor والقيمة الافتراضية له 1 لان اول زيارة للمنتدى لن يتم اضافة رقم لانه لم يمر يوم بعد واضافة للخطاف commonHooks



CODE

if ($PowerBB->_CONF['member_permission']) {
$change = $PowerBB->_CONF['now'] - $PowerBB->_CONF['member_row']['lastvisit'];
if ($change >= 86400){
$UpdateArr                 =     array();
$UpdateArr['field']        =    array();
$UpdateArr['field']['store_visitor']     =     $PowerBB->_CONF['member_row']['store_visitor'] + 1;
$UpdateArr['where']             =     array('id',$PowerBB->_CONF['member_row']['id']);
$PowerBB->core->Update($UpdateArr,'member');
}
}



جيد ام لا ؟؟؟

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 09:15 مساءً   [7]
Soliman
معلومات الكاتب
نعم هذه طريقة جيدة ايضاً سؤال عن visitor في جدول member

look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 10:30 مساءً   [8]
kareem
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: Soliman نعم هذه طريقة جيدة ايضاً سؤال عن visitor في جدول member

تمام شكرا لك سؤال عن visitor في جدول member

look/images/icons/i1.gif سؤال عن visitor في جدول member
  05-11-2017 10:07 مساءً   [9]
kareem
معلومات الكاتب
لم تنفع تماماً دخلت بحساب آخر للمنتدى لم استعمله منذ فترة وجدت الرقم لحقل store_visitor يتزايد بإستمرار. دخلت لقواعد البينات لجدول member وجدت lastvisit له 1509569383 ولا يتغير مهما اعدت تحميل صفحة المنتدى. مررته على دالة time_ago طلع 4أيام.

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

look/images/icons/i1.gif سؤال عن visitor في جدول member
  06-11-2017 01:37 مساءً   [10]
Soliman
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: kareem لم تنفع تماماً دخلت بحساب آخر للمنتدى لم استعمله منذ فترة وجدت الرقم لحقل store_visitor يتزايد بإستمرار. دخلت لقواعد البينات لجدول member وجدت lastvisit له 1509569383 ولا يتغير مهما اعدت تحميل صفحة المنتدى. مررته على دالة time_ago طلع 4أيام.

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



جرب اضف هذا الكود للخطاف commonHooks



CODE
        if ($PowerBB->_CONF['member_row']['lastvisit'] != $PowerBB->functions->IsCookie('PowerBB_lastvisit'))
        {
            $cookie = setcookie('PowerBB_lastvisit',$PowerBB->_CONF['now'],$PowerBB->_CONF['now']+85200, NULL ,NULL, NULL, TRUE);
            $UpdateArr                        =    array();
            $UpdateArr['field']                =    array();
            $UpdateArr['field']['lastvisit']         =     $PowerBB->_CONF['now'];
            $UpdateArr['where']                        =    array('id',$PowerBB->_CONF['member_row']['id']);
            $update_cache = $PowerBB->core->Update($UpdateArr,'member');
        }

look/images/icons/i1.gif سؤال عن visitor في جدول member
  06-11-2017 10:38 مساءً   [11]
kareem
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: Soliman
المشاركة الأصلية كتبت بواسطة: kareem لم تنفع تماماً دخلت بحساب آخر للمنتدى لم استعمله منذ فترة وجدت الرقم لحقل store_visitor يتزايد بإستمرار. دخلت لقواعد البينات لجدول member وجدت lastvisit له 1509569383 ولا يتغير مهما اعدت تحميل صفحة المنتدى. مررته على دالة time_ago طلع 4أيام.

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



جرب اضف هذا الكود للخطاف commonHooks



CODE
        if ($PowerBB->_CONF['member_row']['lastvisit'] != $PowerBB->functions->IsCookie('PowerBB_lastvisit'))
        {
            $cookie = setcookie('PowerBB_lastvisit',$PowerBB->_CONF['now'],$PowerBB->_CONF['now']+85200, NULL ,NULL, NULL, TRUE);
            $UpdateArr                        =    array();
            $UpdateArr['field']                =    array();
            $UpdateArr['field']['lastvisit']         =     $PowerBB->_CONF['now'];
            $UpdateArr['where']                        =    array('id',$PowerBB->_CONF['member_row']['id']);
            $update_cache = $PowerBB->core->Update($UpdateArr,'member');
        }



شكراً لك .. للأسف لم ينفع يظل يزيد اظن المشكلة ان IsCookie('PowerBB_lastvisit' تعطي دائماً 1 وليس رقم وقت.

أضفنا حقل جديد store_lastvisit وتم تعديل الكود السابق

CODE

if ($PowerBB->_CONF['member_permission']) {
  $change = $PowerBB->_CONF['now'] - $PowerBB->_CONF['member_row']['store_lastvisit'];
  if (!$PowerBB->_CONF['member_row']['store_lastvisit'] || $change >= 86400) {
    $UpdateArr = array();
    $UpdateArr['field'] = array();
    $UpdateArr['field']['store_visitor'] = $PowerBB->_CONF['member_row']['store_visitor'] + 1;
    $UpdateArr['field']['store_lastvisit'] = $PowerBB->_CONF['now'];
    $UpdateArr['where'] = array('id', $PowerBB->_CONF['member_row']['id']);
    $PowerBB->core->Update($UpdateArr, 'member');
  }
}






حتى الان الامور تمام . وجاري ملاحظة النتيجة للأيام القادمة.


المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
تغير رابط التسجيل في visitors_bar في ستايل Lotus Blue جنرال الحب
2 348 جنرال الحب

الكلمات الدلالية






الساعة الآن 10:45 AM