12

انتهيت من اول مشروع لي بلغة php--سكربت ستورم الاصدار 1.0 !!

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

اليوم انا انتهيت من اول مشروع لي بلغة php وهو سكربت ستورم

وهو عبارة عن سكربت لعرض الافلام والمسلسلات ووضعت في الاسكربت مميزات كثير تميزه عن غيره

------------معلومات عن الاسكربت---------------------------

1- الاسكربت كلفني 3 شهور برمجة وتصميم

2- الاسكربت مبني بلغات html,css,js,jquery,purephp,mysql

3- الاسكربت بالكامل برمجة خاصة بمعني ليس مبني علي بلوجر ولا ورد بريس

4- الاسكربت متكون من واجهة الزوار ولوحة التحكم

5- الموقع متوافق مع كل الاجهزة

------------روابط الموقع-------------------

رابط الموقع:

https://stormscript1.000web...

فيديو شرح خصائص الموقع بالصوت والصورة:

------معلومات لوحة التحكم----------------------------------------

رابط لوحة التحكم:

https://stormscript1.000web...

/Cpanel/login.php

اسم المستخدم: admin

كلمة السر: admin

فيديو بشرح خصائص لوحة التحكم بالصوت والصورة: قريبا


ان شاء الله يعجبكم الاسكربت وانا اريد انتقاداتكم واقتراحاتكم ورأيكم

ولو فيه احد لديه خبرة بالحماية والاختراق قم بتجربة اختراق الموقع...انا قمت بسد ثغرة mysql injection ومؤمن لوحة التحكم


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

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

ما شاء الله .. بصراحة جميل جدا

 بما أنك طلبت المساعدةَ في حمايةِ واكتشافِ ثغراتِ الموقعِ قد قمتُ بتجربةِ اختراقٍ بسيطةٍ.

وقد تبين لي أن الموقعَ ضعيفٌ جدًا من ناحيةِ الحمايةِ هناك عدةُ ثغراتٍ خطيرة سأذكرُ لك بعضَها:

 1- ثغرات Cross-site Scripting (XSS) سوف اشرحُ لكَ ببساطةٍ، هذه الثغرةُ تسمحُ للمهاجمِ بـ حقن (inject) كود جافاسكربت، مما قد يؤدي الى اختراق كامل للموقع. والطريقة كالتالي: يقوم المهاجم بحقن كود يقوم سرقة الجلسات (sessions) ثم يرسله الى مدير الموقع وبمجرد ان يضغط المدير على الرابط، يحصل المخترق على الجلسة الخاصة بالمدير المكان المصاب https://stormscript1.000web...

وأتوقع وجود الكثير غيره. (الصورة التالية توضح)

  https://suar.me/N87Z

2- ثغرات تخطي تسجيل دخول لوحة التحكم (: وهي من أخطر الثغرات حيث يقوم المهاجم بتخطي تسجيل الدخول والحصول على جميع الصلاحيات (بدون معرفة كلمة المرور ولا حتى اسم المستخدم:) ) . سبب هذه الثغرة الخطأ في استخدام إعادة التوجيه (redirect)، لأن أقوم بشرح التفاصيل ولكن لديك الصديق الحميم google

3- لوحة التحكم مصابة بـ sql injection

4- رفع الملفات في لوحة التحكم مصاب حيث أمكنني رفع ملف php وقمت بالسيطرة الكاملة على الموقع.

 بالنسبة لحل هذه الثغرات وترقيعها، ليس لدي المعرفة الكافية لكيفية الحماية لذا لا تعتمد على كلامي ولكن بإمكاني المساعدة،

 بالنسبة للثغرة الأولى يجب منع ( فلترة ) جميع المدخلات من المستخدم بامكانك استخدام بعض الدوال الجاهزة في PHP كـ htmlspecialchars() و striptags() وهناك المزيد ...

 أما الثغرة الثانية فحلها على ما أتوقع أنه في سكربت (authentication)

الثغرة الرابعة على حسب خبرتي انك تقوم بـ check لـ mime-type فقط ولا تتأكد من صيغة الملف (الذي فعلته انني قمت برفع ملف php وتغيير mime-type لـ image/jpeg)

أتمنى لك التوفيق صديقي

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

تمام شكرا لك..انا فعلا مازلت لم اتعلم حماية لكن بأذن الله سوف اتعلم في القريب العاجل واقوم باغلاق جميع هذه الثغرات

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

لم اجربها ولكن لا حظت ملاحظتين صغيرتين اريد ان انبهك عليهم مع انك غالبا قد تكون تعلم بـأمرهم

1 . عند تعديل حساب الادمن الذي اعطيتنا هنا قمت بإعطاء خاصية disabled لكل من حقل كلمة السر واسم المستخدم ربما كحركة منك ان هذين الحقلين غير قابلين للتعديل ولكنهما فعلا قابلين للتعديل اذا ارسلت البيانات للسيرفر فسيقوم بتحديثها يعني النصيحة هنا او الملاحظة :- بشكل عام لا تركز علي الكود الذي يظهر للمستخدم لمنعه من فعل شيء فهذا لا يمنعه وانما ركز علي السيرفر اكثر لمنعه .

2 . الصفحات في لوحة التحكم يبدو انك تحملهم عن طريق Jquery load function أو اغلبهم طريقتك لتحميلهم لي عليها ملاحظتين الاولي في طريقة كتابة كود جلب الصفحة فأنت تكتب لكل صفحة سطر وكود خاص بها مثلا account-setting تقوم بجلبها عن طريق الكود .

    $(".account-setting").click(function () {
       $(".cpanel-left").load("account-setting.php"); 
    });

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

نكتب روابط الصفحات هكذا ونعطي للخاصية page-name اسم الصفحة لاحظ:

    <a class="page-link" page-name="account-setting" style="cursor:pointer;"><li>اعدادات الحساب</li></a>

ونكتب كود جافا سكربت هكذا بدل السابق :

    $(".page-link").click(function () {
      var link = $(this).attr('page-link') + '.php';
      $(".cpanel-left").load(link); 
    });

ثانيا لاحظت ان كل الصفحات مع انهم يتم جلبهم عبر ajax إلا ان الرابط يظل يشتغل حتي انك احيانا مثل ما هو في الرابط الذي قمت بنسخه لك هنا تقوم بحذف الخاصية href عن التاج a لتمسح الرابط وتعطيه كود css .

  style="cursor:pointer;" 

ولكن بدل من هذا يمكن استخدام السطر التالي في جافاسكربت لإيقاف الرابط نأخذ الكود السابق ولاحظ السطر الجديد مع متغير e (يمكنك اظهاره في log لتعرف ماهيته) .

    $(".page-link").click(function (e) {
      e.preventDefault();
      var link = $(this).attr('page-link') + '.php';
      $(".cpanel-left").load(link); 
    });

يمكنك استخدام الدالة data في Jquery بدل attr ويمكنك كذالك تحسين الكود اكثر من هذا أحد الاخوة اخبرك ان تضيف تعدد لغات وتعرض السكربت للبيع انصحك اولا ان تحسن من الكود يمكنك استخدام افريم وورك اذا حسيت بتحسن لديك مع PHP .

بالتوفيق عمل جيد .

اولا انا قمت بعمل disabled للباسورد واسم المستخدم لاني عندما نشرت الاسكربت يدخل الناس ويقومون بتغيير اسماء وباسوردات الحسابات لذلك قمت باغلاقهم مؤقتا

ثانيا انا فعلا استخدم jquery load ولكن فكرتك عبقرية وستوفر لي جهد ووقت وساستخدمها في اعمالي القادمة شكرا لك

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

اولا انا قمت بعمل disabled للباسورد واسم المستخدم لاني عندما نشرت الاسكربت يدخل الناس ويقومون بتغيير اسماء وباسوردات الحسابات لذلك قمت باغلاقهم مؤقتا

هذا الذي أردت ان انبهك عليه أن disabled لا تمنع من تغيير الحقول ولا حتي مؤقتا لأني قمت بتغيير كلمة السر ولكني ارجعتها وبقيت الصورة كما تري وانت تعرف كيف لذالك اردت ان انبهك عليها كي لا تعتمد عليها في المستقبل ولذالك قلت علي العموم لا تحاول منع المستخدم من فعل شيء علي السيرفر (تعديل ,حذف) عن طريق التقنيات التي تحمل له علي المتصفح (js,html,css..... ) .

الان فهمتك جيدا...انت تقصد اني يجب ان امنع تغيير الباسورد واسم المستخدم من php نفسها..تمام شكرا لك

رائع جدًا بالنسبة لأول عمل كامل، بالتوفيق لك :)


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

شكرا لك

ما شاء الله ، عمل رائع أخي .

لدي بعض الأسئلة إن لم تكن تمانع :)

  • كم استغرقت منذ تعلم html إلى الآن ؟

  • كم ساعة تكلف بناء الموقع بالتقريب ؟

  • من طريقة تصميمك للموقع أشعر أنك متخصص في مجال الواجهات Front End أكثر من الجانب البرمجي Back End ، فهل أنت أحدهما أم Full stack ؟

أخيرا لدي ملحوظة هامة : لا تقم أبدا بحفظ كلمات المرور في قاعدة البيانات بدون تشفير ...

هذه الصورة مشكلة كبيرة لو كان موقعا فعليا ، فعليك الإنتباه من ذلك أخي بارك الله فيك ...

انا بدأت اتعلم او خطوة لي في الويب منذ شهر رمضان الفائت وتعلمت front-end وback-end وبعدها توقفت عن التعليم منذ بداية شهر 12 الفائت وبدأت في ان شاء هذا السكربت منذ شهر 12.....استغرق الاسكربت 3 شهور متواصل وانا لدي عادة سيئة وهي اني اجلس علي الكمبيوتر طوال اليوم استيقظ عليه وانام عليه....انا لست front-end لكن خبرتي في front-end اكثر من back-end لاني مازالت اتعلم back-end وانا انوي ان اكون fullstack....فعلا بأذن الله سوف اقوم بتشفير الباسوورد

من الجيد أنك بدأت مبكرا بالتعلم ، ليتني قمت بذلك عندما كنت بسنك :)

هذه إرشادات رسمية من php.net سوف تعلمك كيفية تشفير كلمة المرور :

جميل لقد اعتمدت على موقع cimaclub في تصميمك

انا ايضا اعمل نفس المشروع بالتوفيق اخي الكريم لكن لدي بعض الملاحظات

اولا : هو رابط صفحة الفيلم او المسلسل

لديك على هذا الشكل

stormscript1.000webhostapp.com/movie.php?id=334

في حين يجب ان تحولها الى مثلا

stormscript1.000webhostapp.com/movies/flash-2016.html

السبب : تحسين الارشفة في غوغل و جمالية الرابط كذلك ؛)

ابحت عن php mod_rewrite

ثانيا : لديك مشكل الولوج الى المجلدات في السرفر

مثلا مجلد الصور

هكدا تسهل على اي شخص سرقة الصور بسهولة تامة

ملاحظة بخصوص التصميم

في الصفحة الخاصة بالفيلم

يجب موالمة حجم الخط مع اهمية المعلومة مثلا لاحظ حجم الخط بالنسبة للعنوان والدي يمتل المعلومة الاهم و الخط منطقة التفاصيل.

احذف كل الاكواد الخاصة بالستايل من html و اجمعها في ملف واحد مضغوط

ضع كل ملفات الجافاسكربت في اسفل الصفحة و من الافضل جمع كل الملفات في ملف واحد و ضغطه

اظن انه من الخاطئ وضع < title >< /title > في < body >

عمل جبار

بالتوفيق لك

شكرا لك

ما شاء الله

عمل جبار واحترافي من شاب مصري صغير في العمر، تستحق لقب افضل مبرمج ويب.

استمر في العمل

شكرا جزيلا لك

ما شاء الله موقع ممتاز

اريد ان اسالك ما هي الدروات التي تابعتها وهل كانت مدفوعة

انا اقصد لغة php

تابعت دورة اساسيات php من الزيرو ويب سكول علي اليوتيوب....وتابعت تطبيق علي انشاء سكربت مدونة علي قناة اسمها Mohammed hamad علي اليوتيوب

شكرا لك

هل بامكانك اخباري كم من الفترة الزمنية لان انتهيت من بناء الموقع من الصفر

حسنا شكرا لك واتمنى لك التوفيق بمجالك

نصيحتي لك طوره قليلا وقم باظافة اللغتين العربية والاجنبية

واعرضه لمواقع البيع العربية والاجنبية

بالتوفيق

بأذن الله

الف مبروك ، بالتوفيق لك.

شكرا لك...وبالتوفيق لك ايضا

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

ارجو الرد