الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نظام مراقبة على مستخدمي الموقع

بدأه shama1984 في 17 نوفمبر 2008 · 9 رد · 735 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الإعزاء اعضاء المنتدى .. السلام عليكم ورحمة الله ةبركاته

طرأت لي فكرة وهي :

كيف يمكننا ان نعمل نظام مراقبة على الموقع بحيث اي ضغطة زر او رابط ... يقوم النظام بتسجيلها لغرض المتابعة

ارجو ان اكون قد وفقت بوضع الفكرة كاملة ..

#2

هذا هو الاسلوب المستخدم لمعرفة عدد مرات قرأة موضوع معين مثلا

يعني في page load لكل صفحة يمكنك تخزين ما تريد من احصائيات بالشكل الذي تريد.

او عند الضغط علي زر ما يمكنك تخزين ما تريد من احصائيات لكن بشكل مستقل.

يعني تحتاج الي استدعاء او كتابة الكود في كل حدث تحتاج فيه الي ذلك

سوف تكون الفكرة افضل لو تم فصل كود المتابعة و الاحصائيات عن المشروع, بس الزاي ؟!

#3

شكرا اخي الكريم ::

فكرتك جيدة يا اخي الكريم ..ولكن المشكلة اذا كان محتويات الموقع متغيره ..فسنواجه صعوبة في استدعاء الكود ( كود المراقبة ) ..

اليس كذلك اخي الكريم

#4
AhmedElbaz كتب:
سوف تكون الفكرة افضل لو تم فصل كود المتابعة و الاحصائيات عن المشروع, بس الزاي ؟!

كيف ممكن عمل ذلك؟؟

abdullahf4.jpg
#5

خادم الانترنت (IIS أو Apache أو اى خادم اخر) يقوم بهذا العمل بشكل لتوماتيكى، ويقوم بتخزين ذلك فى log يومى

على سبيل المثال خادم مايكروسوفت IIS يقوم بتخزين هذه المعلومات فى ملف txt يومى فى المجلد

C:\WINDOWS\system32\Logfiles\W3SVC1

وتوجد مرونة فى ضبط شكل البيانات واضافة او حذف بعض البنود

ولكن التسجيل يكون بال IP وليس بأسم المستخدم

يمكنك فى قاعدة البيانات تسجيل رقم IP المستخدم ووقت دخوله ومقارتنة ذلك

تم تعديل هذه المشاركة بواسطة دحدوح في 17 نوفمبر 2008 في 11:59

#6

الشكر الخالص ..

بس انا اريد اقرأ بحسب اسم المستخدم (اقصد العضو) فكيف يمكننا ذلك ؟؟؟

#7

يعني هل اذا استخدمنا session مش ها ينفع معنا

session["user"]=txtusername.text;

#8

اقصد كيف تتم عملية تسجيل كل زر ورابط يقوم المستخدم بالضغط عليه ..

لغرض عرضها كتقرارير فيما بعد لل admin

#9

ممكن ان يكون بشيئ قريب من الاتى:

  1. سوف تقوم بكتابة كلاس class تكون مسئولة عن عمليات التسجيل. (نفترض أن اسمها Audit)
  2. تحتوى على عدة دوال: AuditForm و AuditPage و AuditLink و .... حسب الاحتياج
  3. بعد ذلك سوف تقوم بإستدعاء الدالة AuditForm عند كل ضغطة زر بشكل يشبه
    	protected void SaveBill_Click(object sender, EventArgs e)
    	{
    		AuditForm(UserID, "Save", "Bill", BillID);
    		//  To do:
    	}


  4. سوف تقوم بإستدعاء الدالة AuditPage عند تحميل كل صفحة فى Page_Load
  5. سوف تقوم بإستدعاء الدالة AuditLink عند كل ضغطة على اى رابط خارجى، على أن تكون الروابط الخارجية غير مباشرة، اقصد ان يتم توجيهها الى صفحة محددة فى موقعك اولاً ، ثم بعد ذلك عمل redirect لها، فعند وضع رابط ياهوو .. لا تضعه مباشر بالشكل http:/ /www.yahoo.com ولكن يكون مثلاً exlink.aspx?lnk=http:/ /www.yahoo.com، وفى الصفحة exlink.aspx، تستدعى الدالة AuditLink بشكل يشبه
    	protected void Page_Load(object sender, EventArgs e)
    	{
    		string exLink = Request.QueryString["lnk"];
    		AuditLink(UserID, exLink);
    		Response.Redirect(exLink);
    		//  To do:
    	}


  6. تقوم كل الدوال (AuditForm و AuditPage و AuditLink) ، بتنفيذ شيئ جمل SQL مشابه الى حد ما الى
    INSERT INTO AuditTable (UserID, CurDate, Event, Object, ExtraInfo) VALUES (32, Getdate(), 'Save', 'Bill', 3215)


    INSERT INTO AuditTable (UserID, CurDate, Event, Object, ExtraInfo) VALUES (32, Getdate(), 'VisitPage', 'contactus.aspx', NULL)


    INSERT INTO AuditTable (UserID, CurDate, Event, Object, ExtraInfo) VALUES (32, Getdate(), 'ExLink', 'http:/ /www.yahoo.com', NULL)


تم تعديل هذه المشاركة بواسطة دحدوح في 17 نوفمبر 2008 في 22:28

#10

لله درك يا اخي دحدوح ..

بارك الله فيك كلام جميل ..

وجهد تشكر عليه ...

فكرة جدأ رائعة يا اخي الكريم ...

ولو تعمل تطبيق لهذه الفكرة ببساطة لكي يستفيد منها كل الأعضاء

وجزاك الله خير الجزاء

مواضيع مشابهة