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

إرسال المتغيرات من صفحة لأخرى؟?

مغلق
بدأه دونا في 2 يونيو 2007 · 5 رد · 820 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف لي أن أرسل متغيرات من صفحة لأخرى دون ان تظهر للمستخدم للحفاظ على سرية المعلومات..؟

حاليا أنا أرسل المتغيرات عبر response.redirect و لكن قيم المتغيرات تظهر في عنزان الصفحة و هذا ما لا أريده فكيف أرسلها دون أن تظهر..؟

انتظركم على جمر فأنا في عجلة

و دمتم سالمين..

#3

عن طريق عمل session

وتعرفها كالتالى

session("x")=123

مثلا

سبحان الله وبحمده سبحان الله العظيم

#4

عن طريق السيشن

#5

عزيزي الكريم لقد ضربت على الوتر الحساس في مشاريع برمجة الويب

فمثلا لارسال معلومات من صفحة لصفحة سآخذ المثال التالي وستفهم ان شاء الله كل شيء من هذا المثال

حسنا لنفترض أن لدينا صفحة اسمها A.aspx وصفحة اسمها B.aspx

كويس

هلأ رح نفترض انو الصفحة A هي صفحة ادخال البيانات والصفحة B هي الصفحة اللي رح تستخدم البيانات فيها

موافق ؟؟ بظن اي

هلأ في الصفحة A رح نحط مجموعة من عناصر الادخال أيا كانت ومن خلال حدث أي زر أو أي عنصر موجوةد على الصفحة رح نروح عالصفحة B

هلأ هون لازم تحدد وين رح تستخدم البيانات جملة وتفصيلا ولنفترض جدلا انو بالصفحة A رح تتفحص قيمة بعض البيانات

وبالصفحة B رح تستخدم بقية القيم

الطرق الموجودة هي التالية:

1- Cookie وهي من أسهر الطرق الموجودة (تقريبا) وأسرعها بالنسبة للصفحات ولكن انتبه فهذه البيانات تخزن ضمن متصفح الزبون

أي أنه من السهل على هكر مبتدئ أن يفهم محتوياتها (إلا عند تشفيرها .عندها يجب على الهكر أن يكون محترف)

الفكرة أن قراءتها ليس أمرا مستحيلا

2- متحولات الجلسة: Session

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

-يجب أن يدعم الهوستر (السيرفر الذي تستضيف عنده التطبيق) تخزين متحولات الجلسة.

-أن تقوم باعداده بطريقة تسمح لكل الصفحات قراءة المتحولات وهنا نقف قليلا:

ماذا تعني كلمة اعداد ؟

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

لأن كل مجلد افتراضي هو Application Pool وبالتالي له حدود جغرافية (ان صح التعبير) ولا نستطيع أن نتجاوزها

وبالتالي عليك أن تنتبه إلى ذلك الموضوع.

بعض الشباب هداهم الله يجعلون كل مجلد في المشروع مجلد افتراضي بحد ذاته ناسين أنه سيكون من الصعب على ذلك المجلد الوضول لمثل تلك المصادر

-بعض السيرفرات لا تدعم تخزين هذه المتحولات (سيرفرات قليلة ولكنها غالبا ما تكون السيرفرات الرخصية)

-لهذه المتحولات فترة انتهاء صلاحية عليك أن تنتبه لها.

-يتم التعامل معها بطرق مختلفة ومنها (الطريقة الافراضية) تخزين قيمة واحدة ضمن الكوكيز

أو وضع هذه القيمة ضمن الرابط وهذه القيمة هي قيمة (SessionID) الذي سيتعرف السيرفر من خلالها على صحة أنك نفس الشخص الذي أدخل تلك البيانات مثلا أو حتى تخزينها في قاعدة بيانات من نوع SQL Server

3-طريقة ارسال فورم لفورم أخرى:

وهي من الطرق المحببة لدي لأنها لا تحتاج إلا أي شيء ولكنها فقط وفقط من صفحة لاخرى

حسنا هذه الطريقة تعتمد على ارسال معلومات فورم معينة لأخرى وهنالك أكثر من طريقة لتحقيقها والطريقة الاسهل هي ضبط بعض الخصائص من خلال خصائص عنصر ارسال كالزر وذلك كالتالي:

<asp:Button ID="btn" runat="server" PostBackUrl="B.aspx" />

حسنا استخدام البيانات في الصفحة الثانية يتم بطرق مختلفة حسب طريقة ارسال البيانات وهي إما من خلال متحولات الفورم أو من خلال استخدام الخاصية : this.PreviousPage التي هي من نوع صفحة وتحويلها إلى نوع الصفحة التي قبلها وفي مثالنا هنا:

ِ
A x= (A)this.PreviousPage;

ومن ثم استخدام المتحول x وكأنه الصفحة السابقة حيث بامكانك الوصول إلى كافة القيم في الصفحة السابقة على الاطلاق

هذا والله أعلم

أرجو أن تستفيد من الموضوع

بانتظار استفساراتك عن أي غموض

#6

عزيزي الكريم لقد ضربت على الوتر الحساس في مشاريع برمجة الويب

فمثلا لارسال معلومات من صفحة لصفحة سآخذ المثال التالي وستفهم ان شاء الله كل شيء من هذا المثال

حسنا لنفترض أن لدينا صفحة اسمها A.aspx وصفحة اسمها B.aspx

كويس

هلأ رح نفترض انو الصفحة A هي صفحة ادخال البيانات والصفحة B هي الصفحة اللي رح تستخدم البيانات فيها

موافق ؟؟ بظن اي

هلأ في الصفحة A رح نحط مجموعة من عناصر الادخال أيا كانت ومن خلال حدث أي زر أو أي عنصر موجوةد على الصفحة رح نروح عالصفحة B

هلأ هون لازم تحدد وين رح تستخدم البيانات جملة وتفصيلا ولنفترض جدلا انو بالصفحة A رح تتفحص قيمة بعض البيانات

وبالصفحة B رح تستخدم بقية القيم

الطرق الموجودة هي التالية:

1- Cookie وهي من أسهر الطرق الموجودة (تقريبا) وأسرعها بالنسبة للصفحات ولكن انتبه فهذه البيانات تخزن ضمن متصفح الزبون

أي أنه من السهل على هكر مبتدئ أن يفهم محتوياتها (إلا عند تشفيرها .عندها يجب على الهكر أن يكون محترف)

الفكرة أن قراءتها ليس أمرا مستحيلا

2- متحولات الجلسة: Session

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

-يجب أن يدعم الهوستر (السيرفر الذي تستضيف عنده التطبيق) تخزين متحولات الجلسة.

-أن تقوم باعداده بطريقة تسمح لكل الصفحات قراءة المتحولات وهنا نقف قليلا:

ماذا تعني كلمة اعداد ؟

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

لأن كل مجلد افتراضي هو Application Pool وبالتالي له حدود جغرافية (ان صح التعبير) ولا نستطيع أن نتجاوزها

وبالتالي عليك أن تنتبه إلى ذلك الموضوع.

بعض الشباب هداهم الله يجعلون كل مجلد في المشروع مجلد افتراضي بحد ذاته ناسين أنه سيكون من الصعب على ذلك المجلد الوضول لمثل تلك المصادر

-بعض السيرفرات لا تدعم تخزين هذه المتحولات (سيرفرات قليلة ولكنها غالبا ما تكون السيرفرات الرخصية)

-لهذه المتحولات فترة انتهاء صلاحية عليك أن تنتبه لها.

-يتم التعامل معها بطرق مختلفة ومنها (الطريقة الافراضية) تخزين قيمة واحدة ضمن الكوكيز

أو وضع هذه القيمة ضمن الرابط وهذه القيمة هي قيمة (SessionID) الذي سيتعرف السيرفر من خلالها على صحة أنك نفس الشخص الذي أدخل تلك البيانات مثلا أو حتى تخزينها في قاعدة بيانات من نوع SQL Server

3-طريقة ارسال فورم لفورم أخرى:

وهي من الطرق المحببة لدي لأنها لا تحتاج إلا أي شيء ولكنها فقط وفقط من صفحة لاخرى

حسنا هذه الطريقة تعتمد على ارسال معلومات فورم معينة لأخرى وهنالك أكثر من طريقة لتحقيقها والطريقة الاسهل هي ضبط بعض الخصائص من خلال خصائص عنصر ارسال كالزر وذلك كالتالي:

<asp:Button ID="btn" runat="server" PostBackUrl="B.aspx" />

حسنا استخدام البيانات في الصفحة الثانية يتم بطرق مختلفة حسب طريقة ارسال البيانات وهي إما من خلال متحولات الفورم أو من خلال استخدام الخاصية : this.PreviousPage التي هي من نوع صفحة وتحويلها إلى نوع الصفحة التي قبلها وفي مثالنا هنا:

ِ
A x= (A)this.PreviousPage;

ومن ثم استخدام المتحول x وكأنه الصفحة السابقة حيث بامكانك الوصول إلى كافة القيم في الصفحة السابقة على الاطلاق

هذا والله أعلم

أرجو أن تستفيد من الموضوع

بانتظار استفساراتك عن أي غموض

هذا الموضوع مغلق.

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