الأربعاء، 8 سبتمبر 2010

تسجيل فعاليات المستخدمين في الموقع (LOG)


تسجيل فعاليات المستخدمين في الموقع (LOG)


ان من اهم الامور التي يجب اخذها بعين الاعتبار في تصميم التطبيقات للمواقع هي تسجيل كل الفعاليات التي يقوم بها المستخدمون عبر الانترنت وذلك لعدة اعتبارات :
1- القدرة على تحديد ما اذا كانت اخطاء في عمل البرنامج, كان يعرض بيانات مستخدم معين لمستخدم اخر.
2- تتبع خروقات مقصودة من قبل مستخدمين في الموقع.
3- القدرة على تقديم بيانات للرد على دعوات من قبل مستخدمين قد يدعوا تعرض حسابهم لخروقات من قبل قراصنة.
4- القدرة على جمع احصائيات عن تعامل المستخدمين مع الموقع, الصفحات الأكثر طلبا والبيانات الأكثر استهلاكا, وجمع بيانات عن "مسارات" يقوم بها المستخدمون في صفحات الموقع, في سبيل تحسين الخدمات.

سبل جمع التسجيلات


هناك العديد من الادوات التي يمكن اسنعمالها لتسجيل زيارات المستخدمين للموقع والخدمات المستهلكة من قبلهم ومنها :

1- Google Analytics, خدمة مجانية من Google

هذه الأداة مجانية (Google Analytics) وهي تعطيك معلومات عن طبيعة المستخدمين, المصدر ( دولة, مدينة), اللغة, حجم الشاشة, عدد الزوار, نوع متصفح الانترنت, الصفحات الأكثر دخولا, مسار التصفح الاكثر شيوعا, "المسارات" التي يسلكها المستخدمون (صفحه 1, ومن ثم صفحه 4, ومن ثم .... حتى الخروج. والعديد العديد من التقارير المهمة.
كل هذه التقارير جاهزة حتى الساعتين الاخيرتين, وحسب فترات زمنية يختارها صاحب الموقع.
هذا التسجيل لا يشمل تفاصيل خاصة عن المستخدمين(مستخدمين مسجلين للموقع), ومخزن في قاعدة بيانات في GOOGLE, ويمكن رؤيتها عير الأنترنت بعد دخول الحساب في GOOGLE.
هذه الاداة تعمل عن طريق javascript والذي يقوم بجمع المعلمومات عن الصفحة ومحتوياتها وعن المستخدم الذي فتح هذه الصفحة ومن ثم ارسالها الى جوجل عن طريق الانترنت من جهة المستخدم (client side).


2- IIS LOG, Appache Log / Web Server access Log


هذه الأداة مجانية وهي تعطيك معلومات عن طبيعة المستخدمين, حجم الشاشة, عدد الزوار, نوع متصفح الانترنت, الصفحات الأكثر دخولا, مسار التصفح الاكثر شياعا.
كل هذه المعلومات جاهزة مباشرة, وحسب أختيار صاحب الموقع.
هذا التسجيل لا يشمل تفاصيل خاصة عن المستخدمين, ومخزن في الخادم :
IIS :
C:\Windows\System32\LogFiles\W3SVC1\exyymmdd.log
APACHE, weblogic :
%install%\logs\access.log
يمكن تعديل مبنى سطر البيانات حسب الحاجة من اضافة بيانات او التقليل منها, مثال لسطر بيانات بسيط :
127.0.0.1 - - [10/Dec/2008:09:45:25 +0100] "GET /showUserReports.jsp HTTP/1.1" 404 209



3- تسجيل الفعاليات عن طريق التطبيق نفسه باستخدام Log4J, Log4Net , Log4PHP, او حتى بناء LOG خاص. (Apache Logging)


هنا يمكنم ان تسجل ما تشاء عما يقوم به المستخدم من الدخول الى خدمات مختلفة ومعلومات اضافية حسب احتياجاتك وحسب الاعتبارات المختلفه التي تنوي التعامل معها (حماية المعلومات, احصائيات عن جيل المستخدمين, جنسهم, التفاصيل التي أدخلت في نماذج الموقع, المعلومات التي عرضت للمستخدم و و و ).
يمكن تخزين هذه التسجيلات بعدة طرق, اما في ملفات او في قاعدة بيانات.
بعد ان قررت ما هي البيانات التي انت بحاجة اليها فان عليك ان تقسمها الى أنواع او ما يدعى طبقات (معلومانيه, استكشافية للاخطاء في البرنامج, اخطاء في البرنامج واخطاء مصيرية و و و و ).
ان ذلك يمكنك من :
  • التحكم بتوزيع البيانات في ملقات او قوائم قاعدة بيانات مختلفة للتسهيل عند الاطلاع والبحث فيها
  • التحكم بتشغيل التسجيل او وقفه حتى الحاجة اليه
  • التحكم بمبنى السطر في التسجيل والبيانات التي تسجل بطريقة اوتواتيكية مثل (التاريخ, مصدر التسجيل, الدرجة ووو)
تنزيل مثال لتطبيق يسجل فعاليات المستخدم : Log4JExample.zip


تحليل السجلات


هناك مئات الادوات القادرة على قرائة التسجيلات للخادم (IIS / APACHE ) واستخلاص الأحصائيات منها, على سبيل المثال :
ان جمع كل من هذه البيانات وتحليلها يعطيك صورة متكاملة عما يجري في الموقع, ويمكن من التحقيق في خروقات بالموقع, ويعطي القدرة على اكتشاف اخطاء في عمل البرنامج وتصحيحها.
عن طريق جمع الأحصائيات يمكنك التعرف على الصفحات الاكثر زيارة, المعلومات الأكثر استهلاكا ومن ثم تقديم التحسينات على الموقع للوصول بالمستخدمين الى الأكثر سهولة, عرض الخدمات التي تجلب أكثر الارباح وزيادة فعالية الموقع.
بأمكانك ايضا ان تجمع هذه البيانات في قاعدة حتى تكون اساسا لتفعيل أنظمة Data Warehousing, BI, Data Mining, التي تعطيك تقارير مدهشة عن رغبات زبائنك ويمكنك استغلالها لتطوير خدمات الشركة.


تخزين السجلات ومراعاة حفظ المعلومات


ان التسجيلات تساعدك على رفع مستوى الخدمة والوصول الى الأخطاء في البرنامج وجمع احصائيات مختلفة عن الموقع, ولكن عليك ان تضمن ان لاتصل هذه التسجيلات الى ايادي غير مرغوب بها, فانها قد تحتوي على الكثير من المعلومات المهمة واحيانا الشخصية للمستخدمين مثل عناوين ميل, ارقام بطاقات اعتماد واسماء مستخدمين, وكل ذلك حسب احتياجاتك.
حتى لا تكون هذه البيانات عرضة للقرصنة عليك ان تتخذ احتياطاتك قدر المستطاع عن طريق :
1- في تطبيقات متعددة الطبقات, تأكد ان تخزن البيانات في طبقة 2, حتى لا يكون سهلا على الهاكرز الوصول اليها, اذا ان محطته الاولى تكون في الطبقة الاولى ووجود السجلات فيها يعد وجبة سهلة ودسمة بالنسبة له.
2- تجنب تسجيل بيانات مهمة شخصية قد تستغل ان وصلت لايدي الهاكرز : ارقام بطاقات الاعتماد مثلا.
3- ان دعت الحاجة قم بتسجيل بيانات مشفرة حسب لوغرثمات قوية مثل SSH2.
4- كون الخادم يقوم بتسجيل بيانات access بصورة اوتوماتيكية في الطبقة الاولى استعمل POST method بدلا من GET method عند جمع بيانات مهمة من المستخدم مثل (username, password, credit card number ) في نماذج التعبئة في صفحات الHTML. فالخادم لايسجل الinput parameters القادمة من POST.
5- صلي ركعتين لله تعالى على نية الحماية.

ChatGPT للأطفال : طريق آمنة وممتعة للتعلم والاستكشاف

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