صفحة 3 من 3 الأولىالأولى 123
النتائج 31 إلى 43 من 43

الموضوع: خبراء البرمجة: مساعدة صغيرة من فضلكم



  1. أخي dbman إنت ماتحتاج دورة في الويب سيرفرز تحتاج دورة في البيرل لأن الموضوع واضح زي الشمس و ما أدري هل أنت تستكبر ولاتريد الإعتراف بالخطأ أم أنك ماعرفت مدى خطورة الإسكريبت ، لو عندك إستعداد عطني عنوان المكان إلي إنت ثبت عليه الإسكريبت ( نفس الإسكريبت لاتغير فيه ) وخلي معاه في نفس المجلد إسكريبت ثاني وعطني إسمه وراح أوريك كيف تجيب السورس كود للملف الثاني ...
    على فكره إنت ليه معلق على كلمة هكر .. انا أقلك لو أنه شخص وضع الإسكريبت في موقعه يستطيع أي شخص آخر إستخدامه لقراءة محتويات الملفات الآخرى الموجوده في السيرفر ... ؟؟؟؟ ( يعني ما أدري ممكن فيه واحد غبي يحط البرنامج في سيرفره ويسوي هكر على نفسه ) ؟؟؟؟

    أخوي سوالف .. سيبك منه وأنتبه لايعطيك دوره بدون شهاده

    أتوقع أن الفاصل الآن هو كلام الأستاذ المبرمج لانه أكثر مني خبره ويستطيع أن يبرهن بالأدله القاطعه ..

    مازن مليباري

    <B><small><small>[ تم تعديل الموضوع بواسطة   Nasa Baby   يوم   15-09-2000]

    [b]<small><small>[ تم تعديل الموضوع بواسطة &nbsp; Nasa Baby &nbsp; يوم &nbsp; 15-09-2000]





    مازن مليباري غير متواجد حالياً



  2. الآن قرأت رد الأخ علاء الدين ...
    وهو أكبر دليل على ما أقول فهو إستطاع فتح الكود الخاص ببرنامج آخر موجود في نفس المجلد ( ولا يهم يمكن فتحه حتى لو لم يكن في نفس المجلد )
    وأعتقد إنك تعرف إنه من الممكن إستدعاء هذا الإسكريبت من خارج السيرفر .

    الأخ علاء الدين ..
    يمكن فتح هذا الإسكريبت من خارج سيرفرك ولتعرف مدى خطورته إفرض أن أحدهم مرر للبرنامج إسم الملف الذي يحتوي على معلومات الأعضاء سوف يحصل هذا الشخص على معلومات كل الأعضاء هل يرضيك هذا ؟!!







    مازن مليباري غير متواجد حالياً



  3. أرى أن الحل الأمثل لـهـذه المشكلة هو كالتالي :
    1- يتم إضافة ملحق للملف الذي يتم تمريره للبرنامج يعني لو تم تمرير ملف بإسم News مثلاً يقوم البرنامج بإضافة كلمة File- إلى نهاية الملف ليصبح إسم اللفم كتالي :
    News-File ويتم فتح هذا الملف .
    2- يتم وضع الملفات داخل مجلد واحد ولايتم فتح أي ملف من خارج هذا المجلد

    قد تساعد هذه الأفكار إلى تحسين مستوى آمان الكود و الله أعلم

    مازن مليباري






    مازن مليباري غير متواجد حالياً

  4. #34
    عضو نشيط
    تاريخ التسجيل
    Jul 2000
    المشاركات
    47


    السلام عليكم ..

    في الواقع لا أدري ماذا أقول ، ولكني أقسم بأني جربته ووالله مافتح السورس كود ، وجربت جميع الإحتمالات ولكن !! مش معقول أنه أنا الوحيد اللي صح وانتم كلكم غلط !! أنا لست متعصباً ، بس والله من جد مافتح أي سورس كود ..

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

    نحن الآن بين خيارين ، إما إستخدام إقتراح NasaBaby أو إقتراح alladin
    على العموم ، كلا التعديلين في نفس المجموعة ، لذلك إختر ماتريد :
    1) طريقة NasaBaby
    <BLOCKQUOTE> <font> كود: </font> <div align="ltr"> <center> <table border="0" width="80%" dir="ltr" bgcolor=="#000000"> <tr> <td width="100%"> <pre> <font color="#ffffff">
    if ($webStat eq "no") {
    open ( MYFILE , "file-$file". );
    @contents = &lt;MYFILE&gt;;
    $content = join ('',@contents);
    }
    </font> </pre> </td> </tr> </table> </center> </div> </BLOCKQUOTE>
    أي أنه إن أردت فتح mytext.txt فالسكربت سيفتح الملف file-mytext.txt

    2) طريقة Alladin
    <BLOCKQUOTE> <font> كود: </font> <div align="ltr"> <center> <table border="0" width="80%" dir="ltr" bgcolor=="#000000"> <tr> <td width="100%"> <pre> <font color="#ffffff">
    if ($webStat eq "no") {
    open ( MYFILE , "/public_html/documents/" . "$file" );
    @contents = &lt;MYFILE&gt;;
    $content = join ('',@contents);
    }
    </font> </pre> </td> </tr> </table> </center> </div> </BLOCKQUOTE>
    بهذه الطريقة فإنه يقرأ فقط من المجلد /public_html/documents

    وإن أردت إستخدام الطريقتين :
    <BLOCKQUOTE> <font> كود: </font> <div align="ltr"> <center> <table border="0" width="80%" dir="ltr" bgcolor=="#000000"> <tr> <td width="100%"> <pre> <font color="#ffffff">
    if ($webStat eq "no") {
    open ( MYFILE , "/public_html/documents/" . "file-$file" );
    @contents = &lt;MYFILE&gt;;
    $content = join ('',@contents);
    }
    </font> </pre> </td> </tr> </table> </center> </div> </BLOCKQUOTE>

    وفي النهاية ، أكرر أني جربت جميع الطرق ولم تفتح السورس كود ، ولكن !!
    لن تكونوا كلكم على خطأ وأنا الصواب ! ..

    --------------
    الأخ NasaBaby ، عذراً إن كنت قد تماديت في حديثي معك ، لأني والله مستغرب ولازلت !

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





    dbman غير متواجد حالياً

  5. #35
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2000
    المشاركات
    530


    الحمد لله أن المشكلة عدت على خير لأنني قمت بكتابة مقالة من خمسة صفحات لتوضيح الموضوع بالتفصيل، الآن لن أضطر إلى نقلها كلها ولكن أهم أجزاءها :

    1) سطر shebang لا يدل على أي شيء، ولا يمكن القول أبدا بأن سطر shebang يمنع من فتح الملفات، لأنك أن من يقرر إذا أردت أن يقوم برنامج بفتح الملف أو تنفيذه، البرنامج الذي كتبته أنت يقوم بتنفيذ الملف ولا يقوم بفتحه، لأنه لتنفيذ ملف ما يجب أن يكون اسم الملف مسبوقا بعلامة | أو ما يسمى بالـ pipe كما نعل عندما نستخدم برنامج SendMail.

    2) مزود الويب Apache .. كيف يعرف أن هذا الملف يجب تنفيذه والأخر يجب فتحه وعرض محتوياته؟ هل عن طريق سطر shebang أو عن طريق كون الملف chmoded إلى 755؟ لا هذا ولا ذاك إنه يعرف ذلك ببساطة عن طريق امتداد الملف أم أنك نسيت بأننا نقوم بعمل نسختين متطابقين من سكريب ما أحدها بامتداد pl والآخر txt فيقوم المزود بتنفيذ الآولى وعرض الثانية.

    3) عندما يقوم المزود بتنفيذ ملف فإنه يرسل أمرا إلى نظام التشغيل بأن ينفذ هذا الملف، نظام التشغيل سيقرر ما إذا كان هذا الملف يمكن تنفيذه أم لا، إذا كان الملف يمتلك تصريحا بتشغيله من قبل المستخدمين الآخرين الذين لا يعتبرون من ملاك الملف ولا من نفس المجموعة ( ويسمون other في تصريحات الملف ) فإنه يقوم بتنفيذه، وعند تنفيذه إذا كان سطر shebang يشير إلى مكان خاطئ فإن نظام التشغيل سيرسل رسالة خطأ إلى مزود Apache الذي سيقوم بعرض الصفحة Server Error 500 وتخزين رسالة الخطأ التي حصل عليها مع بعض المعلومات الأخرى مثل الوقت وغيرها في ملف يدعى Error Log، أي أن مزود Apache لا يعلم أصلا ماذا يوجد في الملف، وبرنامج perl لا يعلم أصلا بأن هذا الملف سيعود ناتج تنفيذه إلى Apache.

    4) نفس الشيء عندما تكون أنت مثلا تعمل على سطر الأوامر في Linux فإنك تستطيع استخدام أحد محررات النصوص الشهيرة مثل vi أو pico في فتح الملف أو تستطيع تنفيذ الملف عن طريق كتابه مساره واسمه، أنت من يقرر الطريقة التي تريدها في التعامل مع الملف وليس نظام التشغيل، نظام التشغيل يقرر فقط إذا كان من حقك التعامل مع الملف بهذه الطريق أم لا، وعندما يكون الملف chmoded 755 فهذا يعني بأن الجميع ( بما فيهم Apache ) يستطيع .. فتح الملف وقراءته، ولا يستطيع أحد تعديله سوى مالك الملف ( صاحب الموقع ) وعندما يتم تنفيذ برنامج ما فإنه يمتلك نفس صلاحيات البرنامج الذي أمر بتنفيذه، أي أنه عندما يقوم مزود Apache بتنفيذ أحد سكريبتات perl فإن هذا السكريبت سيمتلك نفس الصلاحيات التي يمتلكها Apache فأنه يعمل لصالح نفس المستخدم الذي أمر بتشغيل مزود Apache أول مرة، بهذه الطريقة فإن برنامج perl سيصنف من النوع other بالنسبة للملف الذي يتعامل معه وبالتالي سيتيطع فتحه ولكنه لن يستطيع تعديله، ولهذا السبب عندما نقوم بعمل سكريبتات تتعامل مع ملفات بيانات فإننا نعطي ملف البيانات التصريح 777 حتى يستطيع الجميع ( بما فيهم Apache وسكريبتات perl التي يستدعيها Apache ) تعديل الملف.

    ------------------
    http://www.ArabBuilder.com





    mubarmej غير متواجد حالياً

  6. #36
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2000
    المشاركات
    530


    لدي الآن ملاحطة على الطريقة الثانية التي استخدمها الأخ العزيز dbman للوصول إلى الملفات التي تقع ضمن مجلد محدد هو publib_html فإن بعض المزودات ( 99.9% منها ) عندما تستخدم معها المسار المطلق الذي يبد بالشرطة الخلفية فإن ذلك يعني بأن المسار يبدأ من جذر المزود وليس من جذر الويب، لهذا السبب فإن نظام التشغيل لن يجد هذا الدليل وبالتالي لن يجد أية ملفات بداخله، لحل المشكلة يجب إضافة المسار المطلق إلى الدليل الذي يوجد به ملفات txt بدءا من دليل ويب الجذري، ولعمل ذلك يجب أن تذهب إلى شاشة التحكم التابعة لموقع f2s وتحصل على ما يسمى بالـ Absolute Path to the web root أو ما شابه، ستجده عنوان طويل كالتالي تقريبا :
    /users/web/0022/username/website/
    وهو موجود في قسم website من لوحة التحكم.

    وأما أنا فلدي حل آخر هو استخدام امتداد الملف بحيث إذا كان الملف ينتهي بالامتداد txt يمكن فتحه، ولكنه يعني بأن أي ملف موجود على السيرفر بالإمتداد txt سيكون من السهل فتحه باستخدام السكريبت، حتى لو كان هذا الملف موجودا داخل مجلد محمي بكلمة مرور عن طريق .htaccess .

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

    ------------------
    http://www.ArabBuilder.com





    mubarmej غير متواجد حالياً

  7. #37
    عضو نشيط
    تاريخ التسجيل
    Jul 2000
    المشاركات
    47


    الأخ العزيز مبرمج ..

    شكراً لك على تلميحاتك المفيدة ..

    بالنسبة للمجلد public_html ، فلقد قمت بوضعه على أساس أن معظم المستخدمين العرب لديهم صفحة مجانية مع VirtualAve.net ، هنالك من يستخدم f2s ولكن معظمهم مع virtualave ، والرووت لهذه الشركة هو public_html ..

    بالنسبة لكيفية تعامل Apache مع ملفات بيرل:
    هنالك طريقتين .. إما بنوع الملف ، وإما بأوامر Directory Directives المستخدمة في ملف الخصائص الخاص httpd.conf ، ولاتكون دائماً بنوع الملف ..

    والسلام عليكم





    dbman غير متواجد حالياً

  8. #38
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2000
    المشاركات
    333


    الاخوة الكرام: انا شخصيا تهت وسط شروحاتكم التقنية. كي نتقدم خطوات اخرى الى الامام، هذا تذكير بالاشكالية التي نريد حلها من خلال هذا السكربت المنتظر اكتماله:

    ـ في غالب الاحيان تكون التعديلات التي تجري على الصفحة الرئيسية للموقع لا تتعدى استبدال نص بأخر وعنوان بآخر في اماكن مختلفة من الصفحة: مثلا الافتتاحية وعنوانها، حقل مستجدات الموقع وعناوينه، الخ.
    الطريقة التقليدية للقيام بذلك بالنسبة للكثير من المستخدمين العاديين تتم من خلال اعادة تصميم وانشاء الصفحة ثم تحميلها من جديد الى السيرفر.

    ـ بما ان الامر يتعلق باستبدال نصوص معينة فيما بقية هيكل الصفحة لا يقع فيه تغيير فكرت بسكربت يقوم بأتمتة هذه العملية جزئيا، بحيث ان المستعمل يغير الملفات النصية فقط وستكون صغيرة الحجم بالطبع ولا يحتاج تحريرها سوى الى المفكرة ويمكن تحريرها بسرعة اون لاين. ثم يأتي دور السكربت ليظهرها في المكان المناسب في الصفحة من خلال الامر

    &lt;script src="text9.cgi?file=mytext1.txt&web=no"&gt;&lt;/script&gt;

    وباستعمال الامر

    &lt;script src="text9.cgi?file=mytext2.txt&web=no"&gt;&lt;/script&gt;
    ندخل نصا اخر في مكان اخر من الصفحة وهكذا.

    ـ وميزه هذا السكربت وهذه الطريقة انها تحل مشكلة كبيرة للذين توجد مواقعهم لدى شركات لا تدعم خاصية ssi، اما الذين توجد مواقعهم لدى شركات تدعم هذه الخاصية فهم لا يحتاجون هذا السكربت لانهم لا يعانون اصلا من المشكلة التي كتب السكربت لحلها، اذ لديهم الامر انكلودفيرتوال الذي يمكنهم من تضمين ملفات خارجية ضمن صفحاتهم.

    ـ الشق الثاني من المشكلة ان تكون الملفات النصية في مكان هي والصور، والسكربتات والملفات الاخرى في مكان اخر. من هنا جاءت فكرة ان يكون السكربت عابر للقارات ليفتح الملف ويظهر محتوياته اعتمادا على عنوان url.

    ـ الواقع انني رجوت الاخوة المبرمجين الكرام المساعدة لحل مشكلة شخصية جدا: فموقعي يوجد لدى شركة f2s وهي لا تدعم الـ ssi، ولكن ميزتها السرعة وانها بدون اعلانات، ولتخفيف اعباء تحديث الصفحة الافتتاحية للموقع بحثت عن اداة مثل هذه.

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

    الحل الاحترافي لتحديث النصوص في المواقع الاخبارية يتم عبر برامج وسكربتات محترفة هي برامج الـ news. لانها تؤتمت بالكامل عملية ضخ الاخبار والتحديثات للموقع، وتستعملها معظم المواقع الاخبارية لتحديث محتوياتها. جربت شخصيا العديد منها المكتوبة بلغة بيرل، وبينها سكربتات مجانية ممتازة جدا وتفي بالغرض، الا ان معظم الذي جربت يضعني في الاخير امام نفس المشكلة: انني بحاجة الى خاصية ssi لتحقيق افضل استفادة منه.

    اخي دبمان: اترك السكربت بدون التعديلات الاخيرة، فقط اضف اليه هذه التعليمة او مايشابهها ويوازيها:

    $hosts = "localhost,127.0.0.1";

    كي يتعذر استدعاء السكربت من خارج السيرفر الذي هو مسجل فيه.

    اخي المبرمج: اضافة التعليمة السابقة هل يحل مشكلة الحماية؟

    شكرا لكم.






    alladdin غير متواجد حالياً



  9. الأخ dbman انا الذي أعتذر إن بدر مني تطاول عليك ..
    حقيقي إنت عصبتني
    وانا أعتذر وشاكر لك حسن تفاعلك ....
    وأشكر الاخ المبرمج على هذا الشرح الوافي ؟؟

    أخوكم مازن مليباري





    مازن مليباري غير متواجد حالياً

  10. #40
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2000
    المشاركات
    333


    الاخوة: دبمان، المبرمج، مازن:
    لازلت انتظر اجابتكم حول اضافة
    $hosts="localhost,127.0.0.1"

    وهل اضافتها يجعل السكربت مأمون الاستعمال؟
    شكرا






    alladdin غير متواجد حالياً



  11. أخوي علاء الدين .. هذا الكود لايجعل الكود أمن
    هذا عبارة عن تصريح عن متغير بإسم Host ليس إلا
    يمكن أن يفيدك الأخ المبرمج في هذا المجال .
    كل ما أستطيع أن أقوله لك يمكن جعل الكود آمن بإستخدام أحد الطرق التي ذكرتها سابقاً و التي أتوقع أن الأخ DbMan قام بتطبيقها في آخر تعديل على برنامجه ...






    مازن مليباري غير متواجد حالياً

  12. #42
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2000
    المشاركات
    333


    اخي دبمان
    احببت ان اراسلك ولكن عنوانك غير معلن في سوالف. هل تتكرم بمراسلتي

    alladdin@softhome.net





    alladdin غير متواجد حالياً

  13. #43
    عضو نشيط
    تاريخ التسجيل
    Jul 2000
    المشاركات
    47


    dbman@programmer.net





    dbman غير متواجد حالياً





ضوابط المشاركة

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

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