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

مشكلة فى تحديد مسار مجلد الملفات المؤقتة

بدأه ensert.net2000 في 21 أبريل 2011 · 13 رد · 909 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بعد تصميم المشروع اكتشفت بوجود خطـأ

انا استخدمت مكتبة باسم system.management.dll

وهذا الكود يعطى لك مسار نظام التشغيل وانا اضفت فية للتكملة يعطينى مسار مجلد الملفات المؤقتة Temp

    public string GWindows()
    {
        ConnectionOptions co = new ConnectionOptions();
        string machineName = "localhost"; // or the IP of the remote machime
        ManagementScope ms = new ManagementScope("\\\\" + machineName + "\\root\\cimv2", co);
        ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
        ManagementObjectSearcher mos = new ManagementObjectSearcher(ms, oq);
        ManagementObjectCollection queryCollection = mos.Get();
        foreach (ManagementObject mo in queryCollection)
        {
            PathSystem = ("" + mo["WindowsDirectory"]);
        }
        return PathSystem + @"\temp\";
    }

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

كلة شغال عادى بدون اى مشكلة

المشكلة اكتشفتها عندما يفتح الملف فى هذا المسار يفتحة فى مجلد ال Temp الموجود فى السيرفر وليس جهاز العميل

اذا ما فى احد فهمنى

سوف اطلب سؤال

انا اريد عمل ملف txt داخل مجلد ال Temp عند جهاز العميل وليس السيرفر

يعنى لما العميل يفتح الموقع ويظغط على زر معين ينشأ ملف مثلا اسمة Replay.txt داخل مجلد ال Temp على نظام تشغيل العميل

لان انا عملت مثال لكن يعمل على السيرفر وليس عن جهاز ونظام العميل

وشكراا

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#2

السلام عليكم ورحمه الله وبركاته

لماذا اخي لا تجرب الكوكيز

.:: Wish to become better and better ::.

#3

والله لسة قارئ مقال عليها حالا

بس لية سؤال

هل هى امنة لان المعلومات التى سوف اقوم بتخزينها معلومات مهمة جدا تسجيل دخول وبعض المعلومات عن البنوك والخ

انا كنت هشتغل عليها بتشفير الملف النصى الى 5 انظمة تشفير ويكون الملف النصى فى مجلد ال Temp

فهل الكوكيز ّامن لاستخدامة

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

http://vb4arab.com/vb/showthread.php?t=18528

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#4

السلام عليكم ورحمه الله وبركاته

اما اذا كنت ضروري تريد فكرت جرب الكود التالي



Protected Sub btnTemp_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnTemp.Click
File.WriteAllText(Path.GetTempPath() & "Replay.txt", "Some content goes here")
End Sub
Imports System.IO

1 −1

.:: Wish to become better and better ::.

#5

السلام عليكم ورحمه الله وبركاته

بالنسبه للكوكيز الامان هو المشكله لهذا ال ASP.NET قدمت ال Session لحفظ المعلومات في السيرفر ..

1

.:: Wish to become better and better ::.

#6
اقتباس
المشكلة اكتشفتها عندما يفتح الملف فى هذا المسار يفتحة فى مجلد ال Temp الموجود فى السيرفر وليس جهاز العميل

طبيعي أخي

أنت لن تستطيع التعامل مع الملفات والمجلدات في جهاز العميل إلا بأشياء محددة

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

لان هذا المسار يحدده مستعرض الإنترنت

وتستطيع أن تجعل ملفك الذي فيه المعلومات تتحمل مع ملفات الموقع عند تحميله

بس في كل الأحوال لن تكون آمنة

لذلك كما قال لك الأخ استخدم session

أو إذا كانت هذه المعلومات التي تريد تخزينها عن العضو كثيرة عندها تستطيع تخزينها بشكل مؤقت في قاعدة البيانات ثم حذفها في ما بعد حتى لا يزداد الضغط على ذاكرة السيرفر

وضع في ملف الكوكيز مثلا فقط id الحقل الذي فيه المعلومات

تم تعديل هذه المشاركة بواسطة KV2010 في 21 أبريل 2011 في 05:47

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#7

امكانيات الكوكيز محدودة فمثلا حجمها حسب ما اعتقد يجب ان لايزيد عن 4KB .

والافضل حسب اعتقادي هو كماذكر الاخ kv2010 بحيث تخزن المعلومات في قاعدة البيانات وتخزن في الكوكيز مرجع لهذه البيانات مثل رقم ID او شيء آخر يعرف هذه البيانات .

#8

اشكركم جميعا على مساعدتكم

ولكن عندما استخدم session

لم ينفذ بشكل صحيح

مثال كما استخدم

فى البداية اذا كان عميل جديد يوجد فى الموقع عدد من الصفحات على سبيل المثال

صفحة 1 الرئيسية

صفحة 2 تسجيل الدخول

صفحة 3 تسجيل عميل

صفحة 4 الحسابات

وباقى الصفحات تخص بالحسابات

فى الفصحة 1 الرئيسية

فى الحدث اللود للصفحة عملية بحث والقيمة يأخدها من ال session

واذا وجد القيمة مطابفة للقيمة الموجودة داخل قاعدة البيانات اوتوماتك يدخل على صفحة الحسابات

غير ذلك يفتح الصفحة عادى وهى الرئيسية

اما فى باقى الصفحات ما عدا صفحة تسجبل عضو جديد

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

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

المشكلة

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

مع العلم انى نستخدم هذا الكود

       string User_ = (string) Session["MyUser"];
       if (User_ == null)
       {
           // Go to page login
       }
       else
       {
           // Go to page account
       }

فالسؤال هنا كيف اعرف ان المتغير User_ محمل ببيانات ام فارغ

وشكراراا

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#9

السلام عليكم ورحمه الله وبركاته

اخي الان وضحت فكرتك ... انصحك باستخدام ال FormsAuthentication وتقوم بضبط اعداداته في ال Web.Config

السلام عليكم ورحمه الله وبركاته

جرب هذا


<system.web>
<authentication mode="Forms">
<forms name="Wrox" loginUrl="Login.aspx" path="/" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>

.:: Wish to become better and better ::.

#10

معلش اخى هتقل عليك شوية

ممكن شرح الكود كيف يعمل بالتفصيل

وشكراا

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#11

أخي الكود شغال

طيب جربو هيك

 if (Session["MyUser"] == null)
        {
            Response.Redirect("login.aspx");
        }
        else
        {
            Label1.Text = System.Convert.ToString(Session["MyUser"]);
        }

حط Label1 على الصفحة للتأكد

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#12

حاولت استخدمها ولكن بدون فائدة

على العموم ظبطت معاية الكوكيز وانهيت من التصميم

الحمد لله

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

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#13

السلام عليكم ورحمه الله وبركاته

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

في المثال السابق حددنا نوع الأمان عبر الخاصيه Mode وضبطناها إلى Forms ومن ثم حددنا صفحه تسجيل الدخول وهي Login.aspx, اما بالنسبه لل Authorization فقمنا بمنع اي دخول لأي مستخدم مجهول وذلك من خلال الامر Deny والمستخدم هو ? معناته مجهول الهويه. فكاما حاول احد ان يصل لصفحات الموقع تفحص ال ASP.NET هويه المستخدم اذا قد تم تسجيل دخوله وصل للصفحه المراده والا سوف يتم اعاده التوجيه الى صفحه تسجيل الدخول المحدده بدون اي سطر كود

.:: Wish to become better and better ::.

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