شفرة المصدر للبرنامج النصي. كيفية تضمين كود JavaScript في صفحة HTML. لماذا قد نحتاج إلى دراسة شفرة المصدر
تنصل!
ما ستراه داخل المصدر هو أقسى كود شيت يُنصح بعدم استخدامه في مشاريعك من أجل تجنب كل المشاكل التي واجهتها بنفسي ذات مرة. إذا كنت ، بالطبع ، شخصًا خالدًا ، قررت استخدام الكود الخاص بي في مشاريعك ، فأنا أحذرك من أنني أتنصل من المسؤولية الكاملة عن استخدامها وأي مشاكل قد تواجهك. عند وضع تعديلاتك المختلفة ، إن وجدت ، قم بتغيير اسمها ، لأن أدوات الشرطة لا تزال موجودة ويدعمها المطور. من المستحسن أن تأخذ مثل هذه الأمور على محمل الجد ، لأنه لا يوجد شخص مؤمن عليه من Takedown ، وأعتزم حماية حقوق الطبع والنشر لمنتجي حتى نهاية دعم هذا البرنامج النصي. لا تنطبق قضية حقوق الطبع والنشر على النشر على BlastHack فحسب ، بل على جميع المواقع بشكل عام شكرا لتفهمكم!
استمتع بدراستك!
أروع وقت في اليوم ،السادة LUA "shniki... اليوم ، 1 كانون الثاني (يناير) 2019 ، أود أن أقدم لكم الكود المصدري الكامل للبرنامج النصي الخاص بي. أدوات الشرطة... حتى لا يهرع الناس لإنشاء نسخهم الخاصة من بنات أفكاري ، سأقول إن هذا الإصدار قديم بما يكفي لأنظمته لم تعد تشكل تهديدًا لمشروعي الرئيسي. يجب أن أقول على الفور أنني أنشر هذا المشروع هنا ، لأنه أريد أن أساعد الأشخاص الذين يرغبون في تعلم LUA ، التعلم. ليس من الغباء نسخ الكود وتغيير الاسم وتمرير المشروع على أنه خاص بك ، أي لاكتساب المعرفة. أنا ، مثل أي شخص آخر ، أفهم ما يعنيه البدء تمامًا من نقطة الصفر ، دون أن يكون لديك مثال جيد إلى حد ما في متناول اليد. كما أنني لن أقول إن هذا المشروع رائع. بدأت في كتابتها عام 2017، ثم بدأت للتو في البرمجة النصية على LUA ، قد تكون هناك أنظمة رهيبة.
تم التعليق على جزء كبير من الكود ، ليس عليك حتى النظر إليه ، لقد كنت كسولًا جدًا بحيث لا يمكنني قطعه.
أوصي بقراءة هذا الموضوع بالكامل ، وإلا فلن تفهم على الأرجح أي شيء عند فتح شفرة المصدر. جاهز للقراءة؟ آمل أن تكون إجابتك نعم. لنبدأ.
يتكون المصدر نفسه من بعض الأشياء التي يصعب على المبتدئين إتقانها:
نوافذ وتراكبات ImGUI [الواجهة الرئيسية]
الشبكات [الطلبات غير المتزامنة / طلبات HTTP العادية]
العمل مع تكوينات INI [إعدادات البرنامج النصي]
العمل مع حوارات متعددة المراحل [واجهة إضافية]
التعامل مع التعبيرات العادية [lua pattern]
القليل من العمل مع SAMP LUA.
الآن دعنا نناقش الأجزاء الإشكالية من مصدري:
رمز مربك للغاية ، لأن لقد كتبته قرابة ثلاث سنوات ، حفظه الله.
الكثير من التعليقات ، التي في الواقع لا معنى لها وكانت علامات.
في بعض الأماكن ، قد يكون هناك عدد كبير من الخطوط بدلاً من سطر واحد ، ولكن هذا ليس بالأمر الخطير.
إذا تحدثنا عن المحترفين ، فيمكننا إبراز ما يلي:
10 كيلو كود نظيف + 3 آلاف تعليق أكثر فائدة في بعض الأحيان.
الأنظمة الخاصة ، التي خصصت من أجلها أموالي التي كسبتها بشق الأنفس.
الأنظمة الصلبة التي يمكن أن تكون بمثابة مصدر لوظائف الشبكة.
سأقوم أيضًا بتبسيط مهمتك وإدراج الوظائف الشيقة:
إعادة السلاح التلقائي.
يمكن العثور عليها في التعليق الرئيسي [WEAPON_FUNCTION_BEGIN].
نظام طلب غير متزامن مُعاد صياغته قليلاً.يمكن العثور عليها من خلال البحث ، الوظيفة [loop_async_http_request].
نظام دردشة intrascript كامل على الوظيفة أعلاه.يمكن العثور عليها على الخط [3985] أو بالمفتاح. كلمة [getmsg2.php].
قاعدة بيانات كاملة لوزارة الشؤون الداخلية ، ستكون على سبيل المثال.يمكن العثور عليها على الخط [8124] أو بالمفتاح. كلمة [cmd_database].
نظام كامل من الموثق في النص مع العلامات.يمكن العثور على Mini MVDHelper ، كما يعتقد الكثيرون ، في جميع أنحاء البرنامج النصي.
يستخدم هذا المصدر المكتبات التالية:
Samp.lua
IMGUI العزيز
ذاكرة
ترميز [لـ ImGUI ، على التوالي]
ربما سأضيف بعض المعلومات المفيدة والمفيدة إلى هذا الموضوع. معلومات مثيرة للاهتمام... أنت تدرك أن الليلة التي تلي العام الجديد دائمًا ما تكون صعبة. إذا نسيت إضافة شيء ما ، ووجدته في المصدر ، ثم اكتب في الموضوع ، سأكون ممتنًا جدًا لك. آمل أن أتمكن من خلال شفرة المصدر الخاصة بي من مساعدة شخص ما على الأقل يبدأ في دراسة LUA ، أو يحاول كتابة نصه الأول. إذا كانت لديك أسئلة حول المصدر ، فيمكنك أيضًا طرحها في هذا الموضوع. إذا كنت تريد ترك تعليق ، يرجى البحث عنه ، الموضوع بأكمله تحت تصرفك. واسمحوا لي أن أذكركم مرة أخرى ، لقد بدأت في كتابة هذا السيناريو عندما كنت أدرس للتو ، لذلك لا ينبغي أن تنتقده كثيرًا. كلنا بشر ، كلنا نرتكب الأخطاء بطريقة أو بأخرى. طلب ضخم ، إنشاء نصوص فريدة ، لا تكرر بعد الآخرين ، إلا إذا كنت بالطبع لا تتعلم من مثال شخص آخر. تذكر ، إذا لم ينجح شيء ما بالنسبة لك ، فحاول أكثر - في يوم من الأيام سينجح كل شيء بالتأكيد ، إذا لم تستسلم. لا تحاول إغلاق التعليمات البرمجية الخاصة بك ، دع الناس يرون ما يمكنك القيام به. بعد كل شيء ، هذه هي الطريقة الوحيدة التي يمكن من خلالها التعرف عليك كشخص يمكنه كتابة الكود ولا يخشى إظهاره. أفهم أنني لست أول من ينشر مشروعًا ضخمًا ، لكني آمل أيضًا ألا أكون آخر من ينشر هذا المشروع. حسنًا ، كان بافيل جارسون على اتصال بك ، وادرس وستحقق كل ما تريد. ونعم ، أقدم هذا المصدر للمراجعة ، وليس للنسخ الوقح. إذا كنت تنسخ ، فاكتب من أين حصلت عليها. وهكذا شكرا ، كل شيء.
في الواقع ، أعتقد أنك لا تهتم مطلقًا بما كتبته أعلاه ، فأنت تبحث فقط عن المصدر.
احترام كبير لأولئك الذين قرأوا النص بأكمله الذي توصلت إليه بعد NG =))
هل سبق لك أن أردت الاختباء من غرباءعلى صفحتك نص برمجي ينفذ مظهرًا جميلًا بشكل غير واقعي للقائمة أو ينفذ إجراءات أخرى لا ترغب في رؤيتها قريبًا في كل موقع ثانٍ؟
إذا كانت الإجابة بنعم ، فستكون الطريقة الموضحة في هذه المقالة مفيدة لك مع تشويش الكود. في الوقت نفسه ، سأحجز على الفور أن الطريقة ليست 100 في المائة ، لكنها قد تحمي من معظم غير المتخصصين وبعض المهنيين.
نظرية
لنفترض أن لدينا صفحة nojs.php بها نص سري. يجب إخفاءها. يمكن للمتصفح والمستخدم الحصول على البرنامج النصي من الخادم بالطرق التالية:- تحميل برنامج نصي تم وضعه مباشرة على الصفحة أو تحميله باستخدام DOM ؛
- عرض البرنامج النصي في النافذة شفرة المصدر للصفحة;
- حفظ صفحة مع جميع الملفات على القرص الصلب ؛
- إدخال عنوان URL مباشر في شريط العنوان.
في الحالتين الثانية والثالثة ، لا يتم نقله من قبل جميع المتصفحات (Chrome ، FireFox يصدران البرنامج النصي الذي تم تحميله مسبقًا من ذاكرة التخزين المؤقت ؛ Opera ، IE قم بتنزيل البرنامج النصي مرة أخرى ، ولكن دون إرسال مرجع).
في الحالة الرابعة ، لا يتم تمرير المرجع بواسطة أي من المتصفحات الأربعة.
إذا قمنا بإصدار JavaScript ديناميكيًا من خلال التحقق من وجود رأس المرجع في الطلب ، فسنحمي أنفسنا على الفور من Opera و IE ، ولكن بالنسبة إلى Crome و Firefox ، سيتعين علينا التوصل إلى شيء صعب. سنقوم أولاً بتنزيل برنامج نصي واحد ، والذي بدوره سيقوم بتنزيل برنامج نصي آخر ، بينما سيتم التحقق من كلا التنزيلين بحثًا عن وجود مرجع http. لقد ثبت علميًا أنه إذا قمت بإنشاء برنامج نصي ديناميكيًا على صفحة document.createElement ("البرنامج النصي") ، ثم إزالته من الصفحة ، فسيعمل البرنامج النصي كالمعتاد ، ولكن لن يتم حفظه.
ممارسة
nojs.php
تهدف هذه الصفحة إلى تنزيل script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>