تم الانتهاء من اول سكربت PHP خاص بي بنسبة 100% هل من مبروك؟

  • Primo

السكربت الاول تم بحمد الله انتهائه اليوم 07/02/2017 ( سكربت اختصار روابط ) بسيط جداً

يوجد اكثر من 10 سكربتات اعمل عليهم لكنهم لم ينتهو.

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

الرئيسيه : تصميم بسيط جدا -- واللينك يكون ع النمط التالي :

example.com/1

في الاصدار الثاني بإذن الله سأقوم بتطويره بالكامل


رابط المعاينه :

http://gpshort.ultimatefree...

رابط فيديو عرض السكربت بعد الانتهاء الكامل :

هل من مبروك؟ ,, اي ملاحظه او اي اقتراح برجاء كتابته.

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

التعليقات

السكربت ضعيف جدا من ناحية الحماية و التصميم ، تذكر دائما هذه القاعدة في البرمجة : لا تثق بمدخلات المستخدم .

من ناحيه الحمايه كيف؟؟

من ناحيه التصميم هذا مجرد تصميم بسيط لان السكربت لايحتاج تصميم كبير

وكيف لا اثق بمدخلات المستخدم؟

أقصد ال POST و ال GET ، الان يمكن لأي شخص أن يقوم ب sql injection و يخترق قاعدة البيانات !

انا لست محترف بالحماية انا مجرد مبتدأ بالسكربتات :)

Primo أضف ردا

هههههههههههههههههههههههههههههههههههههههههه , ( هل الذي يدخل في admin ويكتب الباصورد admin ويسمي نفسه هكر ؟؟؟؟؟؟؟؟؟؟؟؟؟)

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

@iMostafaSaadi

-1

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

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

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

استخدم heroku او cloud 9

خدمات سحابية و مجانية

cloud 9

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

نعم انا لم اسجل فيه لأنه طلب بطاقه الائتمان .

شكراً لك سأقوم بالتسجيل فيهم الآن.

مبروك

لكن في الاصدار الثاني تأكد أن يكون الرابط المختصر بالشكل

example.com/1

الله يبارك فيك,, سأقوم بالمحاوله والتجربه وشكراً علي اقتراحك.

في البدايه الف مبروك وبدايه جميله بPHP, انا لا اعتقد انك ستهتم للحمايه جدا في هذا الموقع بعتبار انه مجموعه من روابط وجميع الروابط ستسخدم بعامه ( اي لا يوجد اي بينات حساسه) وعلى هذا الاساس لا اعتقد ان الهكر سيتفاد اي شيء من اختراقك. ولكن اذا حولت ان تقوم بموقع بمستقبل يحتوي على عضويه معينه فكر بالاهتمام بحمايه. بسطور التاليه سأريك بعض النصائح عن الحمايه وسأضع روابط للشرح بها ( علما اني لست بخبير بحمايه فربما يجد طرق افضل ولكن هذه ستكون بدايه لك)

1- عند نقل الباسورد الى قاعدة بينات قوم "بتشفير" الباسورد او ما يسمى بhash وبأضافه الى قليل من salt للمزيد من حمايه. يمكنك استخدام

2- لا تثق بمدخالات المستخدم اقرء التالي للتوضيح

3 - الصفحه الثانيه التي تنقل لها السكريبت لا تستخدم بها javascript لان يمكنني رأيت javascript كما في رابط تالي

view-source:

4- في الصفحه الثانيه قم بعمل function لكي تتأكد انك اتيت من الصحه الام. لان لو اردت يمكنني انشاء الملاين من روابط في ثانيه وحده مع كود javascript بسيط وتسبب بكثير من الروابط الspam في موقعك او حتى تسبب بأقافه.

5- عندما ازور الصفحه الثانيه لا تعطيني error كالمستخدم حاول على الاقل اعادتي الى الصفحه الرئسيه لان هذا سيجل الامر اصعب على هكر ان يخترق

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

رابط الموضوع :

رابط القرار الاخير

واتمنا ان يقوم @tasyjean بتوضيح هذه النقطه اكثر اذا تمكن

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

1- تمت.

2- تم في الاثنين.

3- انا استخدم جافا فيها حتي يستطيع الشخص نقل الرابط عن طريق زر COPY

4- قمت بعملها ويخبرك بهذا الكلام ( [ ] is not URL, Please try again, Be sure to add

)

5- اسف كلامك غير واضح بالنسبه لي ,, ما الصفحه الثانيه هل تقصد short2 ام short

6- سأقوم بعملها ان عرفت.

شكراً لك جدا علي تحليلك الرائع واسلوبك الممتاز :)

Mohammed_Alkhafaji1 أضف ردا

فقط للتوضيح :

الصفحه الاوله هيه

الصفحه الثانيه هيه

/short2.php

5- انا اقصد ان تجعل الصفحه الثانيه ترسلك الى الصفحه الرئسيه ( صفحه الاوله) مع خطء. يمكنك عمل دالك بأستخدام

 header("location:short.php?error=error_type")

وفي الصفحه الاوله تضيف كود لكي يرى اذا كان $error موجود واذا كان موجد يكتب الخطء التالي على الصفحه الرئسيه.

لماذا ؟

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

6- يمكنك استخدام هذه الfunction في php للقيام بهذه العمليه

وعمل ممتاز في php للمره الاوله. اول موقع php لي كان سيء لدرجه عندما نشرت سؤال في stockoverflow اتاني رد يقلي ان الكود الخاص بي غير مرتب وغير عملي :D

شكراً جداً لك ,, سأقوم بعمل (5) الآن.

وشكراً لك علي اقتراحك واتمنى لك التوفيق في كل اعمالك .

لا داعي لمنع الحروف العربي، النقطة التي ذكرتها من قبل تتعلق باستخدام الاحرف العربية مع ثبات ناتج التشفير اي تستخدم نفس حجم character pool وهذا ما قد يقلل من الحماية بزيادة عدد التصادمات كما ذكرت من قبل لكن إذا قمت بزيادة حجم character pool باستخدام ترميز اوسع ك utf-8 فلا مشكلة عندئذ بالتشفير بل إن هذا يقوم بزيادة صعوبة الباسورد لزيادة عدد الكلمات المحتملة. ما عليك فعله هو عندما تقوم بالتشفير تحدد ترميز utf-8 والانتباه للنواتج جيدا فبعض الخوارزميات تقوم بتحويل الاحرف الغير لاتينية لحرف موحد أو تتجاهلها مطلقا أي تقوم بتحول "passوrd" و "passةrd" لنفس الناتج، ايضا عليك الانتباه لترميز الداتا بيز والموقع بشكل عام ولاحظ ان الباسورد العربي قد يحتاج لمساحة اكبر بالدتا بيز

الف مبرووك

اسأل الله ان يجعلك مِن الذين لهم بصمة بالمشاريع العملاقة

بخصووص الرابط فقط استخدم .htaccess وعدل عليه بما يلزم واجعل الرابط كما تريد

الله يبارك فيك , أشكرك علي الدعاء , شكراً لك علي الاقتراح :)

قمت بعمله شكراً لك جداً.

مبروك ياصديقي.. اتمنى لو ترفعه لكي نقوم بتجربته :)

الله يبارك فيك , سأقوم برفعه الآن.

رابط المعاينه :

Allagui أضف ردا

الإستضافة جيدة لكن عندما رفعت عليها أكواد برمجية لغرض التلغيم والإختراق (للتعلم فقط) تم حظر حسابي و جربتها على كل إستضافات السي بانل وتم حضر حسابي عليها . ووجدت حل آخر .

لان علي ما اعتقد هذا يعتبر اختراق للإستضافة.

مبارك وأتمنى لك التوفيق.

بعد التجربة وجدت أنه إذا تم اضافة نفس الرابط فإنه يضيف سجل جديد لقاعدة البيانات، اليس المفترض أن يرجع القيمة الموجودة مسبقاً

أيضا تمكنت من اختصار أشياء غير الروابط، يجب التأكد أن النص الدخل رابط أم لا

مبارك وأتمنى لك التوفيق.

الله يبارك فيك.

بعد التجربة وجدت أنه إذا تم اضافة نفس الرابط فإنه يضيف سجل جديد لقاعدة البيانات، اليس المفترض أن يرجع القيمة الموجودة مسبقاً

اعلم لكني لا اريدها العوده الي القيمه الموجوده

أيضا تمكنت من اختصار أشياء غير الروابط، يجب التأكد أن النص الدخل رابط أم لا

شكراً لك هذا الامر نسيته بالفعل

شكراً لك علي مشاركتك واقتراحاتك :)

mostafahamada1 أضف ردا

صراحةً وقبل رؤية الإسكربت:

  • ألوان الرئيسية هادئ جداً ومريح للعين (جميل).

  • الرئيسية بشكل عام جميلة ببساطتها.

  • فكرة جعل الرابط (/+رقم) أعجبتني، فهي جديدة في فكرتها (جميل).

لكن لو تجعل الرابط المختصر يظهر بالأسفل في الخلفية البيضاء سيكون أفضل بكثير من ظهوره بالاعلى.

لو تجعل هناك زر لنسخ الرابط المختصر مباشرةً لأنه طريقة التحديد صعبة والرابط جعلته زرًا يُضغط عليه.

كما أنه يعطيني خطأ لما أذهب للموقع عن طريق الرابط المختصر.

آرجو حل تلك المشاكل

بإنتظار الاسكربت نفسه،

تحياتي ^_^

شكراً لك جداً ..

لكن لو تجعل الرابط المختصر يظهر بالأسفل في الخلفية البيضاء سيكون أفضل بكثير من ظهوره بالاعلى.

لو تجعل هناك زر لنسخ الرابط المختصر مباشرةً لأنه طريقة التحديد صعبة والرابط جعلته زرًا يُضغط عليه.

سأقوم بعملهم.

كما أنه يعطيني خطأ لما أذهب للموقع عن طريق الرابط المختصر.

نعم انا اقوم بصيانه بسيطه لكني لا اعلم ماذا حدث لكنه يذهب الي الرابط الي رقم 50 بعد ذلك لايذهب لا اعلم لماذا.

قد نستطيع مساعدتك لو أريتنا الاسكربت ^_^

أشكرك :) لقد استطعت تصليح المشكله الحمدلله

اخي هل لديك فايسبوك اريد التحدث معك حول php

هل هذه الإستضافة مجانية ؟ وهل هي جيدة ؟

نعم مجانيه ، لكن لا اعلم جيده ام لا ،، لكن الي الان فهي تعمل معي بشكل جيد.

موقعك يحوي أول ثغرة SQLi :

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

كيف؟؟

لأنك لا تهتم بالحماية, قم بتحديد نوع البيانات المدخلة إلى قاعدة البيانات .. إياك ثم إياك أن تبرمج و أنت لا تعرف أنواع الثغرات البرمجية .. يمكنك عمل السكربت في نصف ساعة لكن سيتم اختراقك في ثانية واحدة! خذ وقتك و تعلم أنواع الثغرات المشهورة ..

انا فعلا لا اعرفهم ,, انا اعرف sql injection و xss و upload shell علي ما اتذكر ثم اني لااهتم بهذا لاني لست متعمق في البرمجه انا مجرد مبتدأ ثم اني لا افكر ابدا في البيع

MohammadAtwi أضف ردا

المبرمج يجب عليه معرفة الثغرات قبل أي شيء آخر, بما أنك تعرف الـ sql injection فأنت تعرف أيضاً كيف تتفاداها صحيح؟

ولو لم ترغب بالبيع, عليك أن تعرف كيف تسد الثغرات و الأمر ليس معقداً أبداً:

    $any = trim($_POST['any']);
    $any = strip_tags($any);
    $any = htmlspecialchars($any);

هذه أحد الطرق, يمكنك استخدامها مع GET, بهذه الطريقة ستنظف البيانات من الـ tags و غيرها قبل إرسالها إلى قاعدة البيانات.

ليست حماية مثلى، ثغرات الحقن لديها أكثر 10 أنواع ..

الحل: اما أن تستخدم مكتبات كـ PDO فهي مجهزة للعمل و محمية أو تستخدم دالة mysql_real_escape_string للحل المؤقت ..

بالتأكيد

شكراً لك . انا بالتاكيد مستخدم دالة mysql_real_escape_string , عندما اتعمق باللغه سأقوم بتعلم الحمايه باذن الله وهذه من ضمن قائمة اهدافي في 2018 بإذن الله.

أشكرك جداً جداً اخي الكريم

سيقوم بتحويلك الي /?i=1 قم بحذفها وسيفتح الموقع من جديد باذن الله.

رابط فيديو عرض السكربت بعد الانتهاء الكامل :