التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > ASP و ASP.NET
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Jun 2006-
#1 (permalink)  
طريقة عمل صورة تحتوي رقم عشوائي للتحقق قبل تنفيذ الكود


السلام عليكم

اخواني من فترة كنت ابحث عن الطريقة الي تخليني استخدم طريقة عمل صورة عشوائية قبل التسجيل مثلا تظهر للمستخدم ويدخل الرقم الموجود فيها في المكان المخصص له واذا لم تتوافق المعلومات المدخله مع الموجوده في الصورة فلا يسمح له بالاستمرار

مثل الموجوده في المنتديات او بعض المنتديات عند التسجيل او مثل الموجوده في الهوت ميل او الياهوو

والحمد لله بعد بحث في المنتديات والنت قدرت احصل الطريقة الي تسمح لك بعمل هذا بال ASP.NET

قبل ان ابدأ بشرح الطريقة اذكر فقط الفائده من هذه الصورة ولماذا تم استخدامها وابتكار هذه الطريقة

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

حيث يمكن لمبرمج محترف ان يقوم بتصميم برنامج او سكربت ليقوم بالعمل على هذه المناطق بشكل اّلي مثلا بدلا من دخولي لصفحة التسجيل في الموقع يقوم هذا البرنامج بالدخول لها والتسجيل فيها بدلا من قيامي بهذا بشكل يدوي -- وعندما نتكلم عن برنامج فاننا نتكلم عن امكانية تنفيذ الالف الاوامر والاكواد البرمجية في ثانية واحده يعني سرعته اعلى من سرعة الانسان بكثير فلو انت انتهيت عملية تسجيل واحده خلال دقيقتين فهو خلال ثانية واحده ممكن ينهي عشرين عملية تسجيل وهنا يكمن الخطر من تصميم مثل هذه البرامج واستخدامها لتعبئة قواعد البيانات وعمل ضغط كبير عليها

لست متأكده من المعلومة ولكن سبق من فترة طويلة ان قرأت في احد المنتديات او المجلات والله اعلم موضوع عن ان موقع الياهوو نفسه قد تم اسقاط سيرفراته بهذه الطريقة وعلى اثرها تم ابتكار صورة التحقق هذه (ماني متأكد من المعلومة)

ومثال على احد المواقع التابع لاحد الاخوة في سوالف سوفت والذي عانا من هذه المشكلة في احد مواقعه في هذا الموضوع وفيه ردود جيده من الشباب في سوالف ممكن ان تستفيد منها بخصوص هذا الموضوع
http://www.swalif.net/softs/showthread.php?t=161316



عندما نقف على مثل هذه المشكلة تاتي فائده صورة التحقق هذه حيث ان على من يرغب بالتسجيل ان يقوم بمشاهدة الصورة ويقوم بادخال الارقام الموجوده فيها في خانه مخصصه لذلك واذا لم تتوافق القيم المدخله مع الرقم المدخل في الخانه لا يسمح له بالاستمرار -- وتحويل الرقم العشوائي الي صورة يشبه الي حد ما التشفير باتجاه واحد -- اي يمكن لك ان تحول رقم الي صورة لكن لا يمكن لك استعادته من الصورة وتحويله الي رقم مرة اخرى (على حد علمي) -- اذا لا يوجد طريقة للاستمرار الا ان تشاهد الرقم بعينك ومن ثم تكتبه في المكان المخصص وهذا مالا يستطيع فعله اي برنامج والله اعلم



وطريقة عملها في ال asp.net هي التالية

اولا عمل صفحة جديده فارغة في الموقع تحتوي كود تحويل رقم عشوائي الي صورة نضعه في حدث تحميل الصفحة وفرضا ان اسمها هو Image.aspx , وهو التالي

كود:
'الكود الخاص بعملية انشاء صورة تحتوي على رقم عشوائي
        Dim r As Random = New Random
        Dim text As String = r.Next(1, 10000000).ToString
        Dim imgNew As System.Drawing.Image = New Bitmap(1, 1)
        Dim gc As Graphics = Graphics.FromImage(imgNew)
        Dim font As Font = New Font("Verdana", 12, FontStyle.Underline)
        Dim size As SizeF = gc.MeasureString(text, font)
        Dim width As Integer = CType(size.Width, Integer) + 1
        Dim height As Integer = CType(size.Height, Integer) + 1
        imgNew = New Bitmap(width, height)
        gc = Graphics.FromImage(imgNew)
        gc.FillRectangle(Brushes.White, 0, 0, width, height)
        gc.DrawString(text, font, Brushes.Black, 0, 0)
        imgNew.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
        'نهاية انشاء الصورة التي تحتوي على رقم عشوائي

        'نقوم بتخزين الرقم العشوائي في الكوكيز
        Response.Cookies("RandomImage").Value = text

في الصفحة التي نرغب بها باستخدام هذه الطريقة نقوم بوضع ادارة Image صورة على النموذج وفي حدث التحميل نقوم باستدعاء الصورة داخل هذه الادارة عن طريق استدعاء الصفحة التي بها الكود بهذه الطريقة في حدث تحميل صفحة التسجيل مثلا

كود:
'عرض الصورة التي تحتوي على الرقم العشوائي
            Image1.ImageUrl = "Image.aspx"

عندما يتم عرض صفحة التسجيل يتم اسدعاء صفحة الصورة العشوائية ويتم توليد رقم عشوائي ومن ثم تحويلة الي صورة وعرض هذه الصورة في داخل اداة ال Image ومن ثم تخزينة في الكوكيز باسم RandomImage

الان في حدث زر التسجيل داخل الموقع نقوم باستدعاء الرقم المخزن في الكوكيز ونخزنه داخل متغير بهذه الطريقة

كود:
Dim RandomNumber As String
        'جلب معلومات الرقم العشوائي من الكوكيز
        If Not Request.Cookies("RandomImage") Is Nothing Then
            RandomNumber = Server.HtmlEncode(Request.Cookies("RandomImage").Value)
        End If
الان عندنا الرقم الموجود في الصورة داخل متغير اسمه RandomNumber

طبعا في التصميم نكون وضعنا ادارة تكست بوكس TextBox من اجل ان يدخل بها المستخدم الرقم الموجود في الصورة ولنفرض ان اسم الاداة هو RandomCodeB

قبل تنفيذ اي كود او اضافة او تعديل في قاعدة البيانات نتحقق اولا من ان الرقم الموجود في المتغير RandomNumber والذي جلبناه من ملف الكوكيز والذي هو نفسه الرقم الموجود في الصورة يتطابق مع الرقم المدخل من قبل المستخدم في داخل اداة RandomCodeB
فاذا كانا غير متطابقين لا نسمح له بتكلمة الحدث ونخرجه من الدالة ونعرض له رسالة الخطأ

كود:
'التحقق من ادخال المستخدم للرقم الموجود في الصورة بشكل صحيح
        If RandomCodeB.Text <> RandomNumber Then
            ErrorLabel.Text = "خطأ ! تأكد من ادخالك للرقم الموجود في صورة التحقق بشكل صحيح"
            RandomCodeB.Text = Nothing
            Exit Sub
        End If

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



ملاحظة :- الشرح اعلاه على ال asp.net باستخدام ال vb.net
للي يستخدم السي شارب يمكنه استخدام هذا الموقع لتحويل الكود
http://www.developerfusion.co.uk/uti...btocsharp.aspx

مصدر كود التحويل من رقم عشوائي لصورة كنت سالت عنه في هذا الموضوع وجتني الاجابه هناك في منتدى ال asp.net
http://forums.asp.net/thread/1316771.aspx
اما المشاكل الي كنت اواجهها في الكود فكانت بسبب اني كنت اقوم بجلب الكود من الكوكيز في حدث تحميل الصفحة في صفحة التسجيل يعني كان يتغير الرقم مرة ثانيه ويرجع يجيبه وهكذا يكون جاب الرقم الخطأ -- اما الطريقة الي فوق فهي الصحيحة ان شاء الله تعالى



في امان الله وحفظة






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 24-06-2006, 07:46 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jul 2002-
#2 (permalink)  

شرح رائع ومميز ..

ليتك تبدأ من الصفر .. لنتعلم كيفية البرمجة بهذه اللغة الرائعة ..

ولأخبرك حقيقة مهمة .. حياة لغات برمجة الويب التعامل مع قواعد البيانات .. من حذف وإضافة وتعديل وإستعلامات ..

هذه هي لب كل مبرمج محترف للغات برمجة الويب ..

فمن هذا المنطلق .. أود مثلاً أن تبدأ بمثال عمل سجل زوار .. أو ما شابه .. فهي مفتاح ..

تحياتي لك .. وواصل إبداعك ..






__________________
بداية للمشاريع التجارية

ASP.NET,ASP 3.0

المدونة الشخصية : asp2asp.com

عدنا والعود أحمد...
asp2asp غير متواجد حالياً   قديم 25-06-2006, 08:55 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#3 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة asp2asp
شرح رائع ومميز ..

ليتك تبدأ من الصفر .. لنتعلم كيفية البرمجة بهذه اللغة الرائعة ..

ولأخبرك حقيقة مهمة .. حياة لغات برمجة الويب التعامل مع قواعد البيانات .. من حذف وإضافة وتعديل وإستعلامات ..

هذه هي لب كل مبرمج محترف للغات برمجة الويب ..

فمن هذا المنطلق .. أود مثلاً أن تبدأ بمثال عمل سجل زوار .. أو ما شابه .. فهي مفتاح ..

تحياتي لك .. وواصل إبداعك ..

شكرا على مرورك اخي وفكرة جيدة وان شاء الله ابدأ بها

اشوف شو هو انسب مشروع ممكن نبدأ فيه !!

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






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 25-06-2006, 05:18 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jul 2002-
#4 (permalink)  

أنا أقصد نبدأ مشروع تعليمي .. بغض النظر عن هذا الموضوع

على العموم أشكر تفاعلك .. ومن المشاريع:

1- محرر أخبار .
2- إستعلام درجات طلاب مدرسة.
3- مدونة (blog).


وأي مشروع .. المهم نبدأ

طبعاً لا تنسى أن تذكر في البداية مسلتزمات وبيئة العمل ..

وواصل .. ونحن معك ..






__________________
بداية للمشاريع التجارية

ASP.NET,ASP 3.0

المدونة الشخصية : asp2asp.com

عدنا والعود أحمد...
asp2asp غير متواجد حالياً   قديم 26-06-2006, 09:28 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#5 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة asp2asp
أنا أقصد نبدأ مشروع تعليمي .. بغض النظر عن هذا الموضوع

على العموم أشكر تفاعلك .. ومن المشاريع:

1- محرر أخبار .
2- إستعلام درجات طلاب مدرسة.
3- مدونة (blog).


وأي مشروع .. المهم نبدأ

طبعاً لا تنسى أن تذكر في البداية مسلتزمات وبيئة العمل ..

وواصل .. ونحن معك ..

ان شاء الله خير
الليلة او بكره ان شاء الله بنبدأ والله يوفق الجميع






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 26-06-2006, 03:05 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2005-
#6 (permalink)  

السلام عليكم

بارك الله فيك أخي على الشرح الرائع

أخي أنا بديت بدورة في موقع آخر ( والله قبل ما أعرف سوالف ) وإن شاء الله سأجمع ملفاتها وأضعها على اسطوانة للجميع

اصبر شوية أخي






__________________
ـــــــــــــــــــــــــــــــــــــــ

This My Life And I'm The Loser
قلعة فلسطين غير متواجد حالياً   قديم 26-06-2006, 05:06 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#7 (permalink)  

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

بارك الله فيك أخي على الشرح الرائع

أخي أنا بديت بدورة في موقع آخر ( والله قبل ما أعرف سوالف ) وإن شاء الله سأجمع ملفاتها وأضعها على اسطوانة للجميع

اصبر شوية أخي
تسلم اخوي

وياريت لو تنشر الدورة هنا بنكون جميعا ممنونين لك

لكن عندي فكرة

دام الشروح موجوده عندك وعاملها من قبل لو انك ترجع تبدأ الدورة من جديد هنا بكون افضل
وبنكلم المشرفين يثبتوا موضوع الدورة عشان يكون مميز عن باقي المواضيع وتبدأ تنزله درس درس وكل درس نطرح اسالتنا وافكارنا

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

مجرد فكرة ياريت تاخذها بعين الاعتبار

ومشكوووووووووور جدا اخوي






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 26-06-2006, 05:20 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jul 2002-
#8 (permalink)  

أشكر الجميع على التفاعل .. وياليت نستفيد من معلوماتكم جميعاً ..

المهم أن نبدأ

قال تعالى: (وَقُلْ رَبِّ زِدْنِي عِلْمًا)[طه:114]






__________________
بداية للمشاريع التجارية

ASP.NET,ASP 3.0

المدونة الشخصية : asp2asp.com

عدنا والعود أحمد...
asp2asp غير متواجد حالياً   قديم 27-06-2006, 03:09 AM
رد مع اقتباس
رد


 

أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:34 AM بتوقيت المملكة العربية السعودية