شفرة المصدر للبرنامج النصي. كيفية تضمين كود 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 بها نص سري. يجب إخفاءها. يمكن للمتصفح والمستخدم الحصول على البرنامج النصي من الخادم بالطرق التالية:
  1. تحميل برنامج نصي تم وضعه مباشرة على الصفحة أو تحميله باستخدام DOM ؛
  2. عرض البرنامج النصي في النافذة شفرة المصدر للصفحة;
  3. حفظ صفحة مع جميع الملفات على القرص الصلب ؛
  4. إدخال عنوان URL مباشر في شريط العنوان.
في الحالة الأولى ، يجب أن يمرر المتصفح رأس HTTP HTTP_REFERER.
في الحالتين الثانية والثالثة ، لا يتم نقله من قبل جميع المتصفحات (Chrome ، FireFox يصدران البرنامج النصي الذي تم تحميله مسبقًا من ذاكرة التخزين المؤقت ؛ Opera ، IE قم بتنزيل البرنامج النصي مرة أخرى ، ولكن دون إرسال مرجع).
في الحالة الرابعة ، لا يتم تمرير المرجع بواسطة أي من المتصفحات الأربعة.
إذا قمنا بإصدار JavaScript ديناميكيًا من خلال التحقق من وجود رأس المرجع في الطلب ، فسنحمي أنفسنا على الفور من Opera و IE ، ولكن بالنسبة إلى Crome و Firefox ، سيتعين علينا التوصل إلى شيء صعب. سنقوم أولاً بتنزيل برنامج نصي واحد ، والذي بدوره سيقوم بتنزيل برنامج نصي آخر ، بينما سيتم التحقق من كلا التنزيلين بحثًا عن وجود مرجع http. لقد ثبت علميًا أنه إذا قمت بإنشاء برنامج نصي ديناميكيًا على صفحة document.createElement ("البرنامج النصي") ، ثم إزالته من الصفحة ، فسيعمل البرنامج النصي كالمعتاد ، ولكن لن يتم حفظه.

ممارسة

nojs.php
تهدف هذه الصفحة إلى تنزيل script1.php
ابحث عن JS
بعد 10 ثوانٍ ، يجب أن تشاهد عمل النص المخفي على شكل حساسية ، اضغط على الرابط بعد التنبيه ، وذلك للتأكد من أن الأحداث لم تسقط أيضًا. من خلال هذا الرابط يمكنك رؤية النص المخفي
script1.php
وتتمثل مهمتها في تحميل script2.php ديناميكيًا إذا كان هناك رأس مرجعي. يمكن تقليل المهلات ، اعتمادًا على وقت التنفيذ التقريبي للنص المخفي.
script2.php
مهمتها: إصدار السيناريو النهائي إذا كان هناك رأس مرجعي

النتائج

نتيجة لذلك ، حصلنا على أنه لا يمكننا عرض الصفحة في الكود المصدري ، ولا تنزيل البرنامج النصي المخفي ولا حفظه عن طريق المتصفحات الأربعة التي تم اختبارها. بشكل عام ، يمكنك مشاهدته بطريقتين:
  • اتبع الرابط المؤدي مباشرة إلى script2.php والموجود على صفحة موقعنا ؛
  • تكوين طلب http برأس المرجع المحدد فيه.
يمكنك زيادة كفاءة الاختباء بالطرق التالية:
  1. باستخدام mod-Rewrite ، استبدل script1.js و script2.js بالانتقال إلى الخادم باستخدام script1.php و script2.php ، على التوالي ، بحيث تحتوي الصفحة على ملفات js مألوفة للجميع ، لأن php ملفت للنظر ؛
  2. لجعل النص الوهمي معقدًا وقابل للتصديق ومربكًا قدر الإمكان ، بحيث يعاني الشخص الذي يحاول تفكيكه كثيرًا قبل أن يدرك أنه قد تم خداعه ؛
  3. التعتيم على الكود.
ناتاشا 31 أكتوبر 2011 الساعة 03:10 صباحًا

JavaScript: إخفاء النص عن أعين المتطفلين

  • حجرة القش *

هل أردت يومًا أن تخفي عن الغرباء على صفحتك نصًا ينفذ مظهرًا جميلًا بشكل غير واقعي لقائمة أو ينفذ إجراءات أخرى لا ترغب في رؤيتها قريبًا في كل موقع ثانٍ؟
إذا كانت الإجابة بنعم ، فستكون الطريقة الموضحة في هذه المقالة مفيدة لك مع تشويش الكود. في الوقت نفسه ، سأحجز على الفور أن الطريقة ليست 100 في المائة ، لكنها قد تحمي من معظم غير المتخصصين وبعض المهنيين.

نظرية

لنفترض أن لدينا صفحة nojs.php بها نص سري. يجب إخفاءها. يمكن للمتصفح والمستخدم الحصول على البرنامج النصي من الخادم بالطرق التالية:
  1. تحميل برنامج نصي تم وضعه مباشرة على الصفحة أو تحميله باستخدام DOM ؛
  2. عرض البرنامج النصي في النافذة شفرة المصدر للصفحة;
  3. حفظ صفحة مع جميع الملفات على القرص الصلب ؛
  4. إدخال عنوان URL مباشر في شريط العنوان.
في الحالة الأولى ، يجب أن يمرر المتصفح رأس HTTP HTTP_REFERER.
في الحالتين الثانية والثالثة ، لا يتم نقله من قبل جميع المتصفحات (Chrome ، FireFox يصدران البرنامج النصي الذي تم تحميله مسبقًا من ذاكرة التخزين المؤقت ؛ Opera ، IE قم بتنزيل البرنامج النصي مرة أخرى ، ولكن دون إرسال مرجع).
في الحالة الرابعة ، لا يتم تمرير المرجع بواسطة أي من المتصفحات الأربعة.
إذا قمنا بإصدار JavaScript ديناميكيًا من خلال التحقق من وجود رأس المرجع في الطلب ، فسنحمي أنفسنا على الفور من Opera و IE ، ولكن بالنسبة إلى Crome و Firefox ، سيتعين علينا التوصل إلى شيء صعب. سنقوم أولاً بتنزيل برنامج نصي واحد ، والذي بدوره سيقوم بتنزيل برنامج نصي آخر ، بينما سيتم التحقق من كلا التنزيلين بحثًا عن وجود مرجع http. لقد ثبت علميًا أنه إذا قمت بإنشاء برنامج نصي ديناميكيًا على صفحة document.createElement ("البرنامج النصي") ، ثم إزالته من الصفحة ، فسيعمل البرنامج النصي كالمعتاد ، ولكن لن يتم حفظه.

ممارسة

nojs.php
تهدف هذه الصفحة إلى تنزيل script1.php
ابحث عن JS
بعد 10 ثوانٍ ، يجب أن تشاهد عمل النص المخفي على شكل حساسية ، اضغط على الرابط بعد التنبيه ، وذلك للتأكد من أن الأحداث لم تسقط أيضًا. من خلال هذا الرابط يمكنك رؤية النص المخفي
script1.php
وتتمثل مهمتها في تحميل script2.php ديناميكيًا إذا كان هناك رأس مرجعي. يمكن تقليل المهلات ، اعتمادًا على وقت التنفيذ التقريبي للنص المخفي.
script2.php
مهمتها: إصدار السيناريو النهائي إذا كان هناك رأس مرجعي

النتائج

نتيجة لذلك ، حصلنا على أنه لا يمكننا عرض الصفحة في الكود المصدري ، ولا تنزيل البرنامج النصي المخفي ولا حفظه عن طريق المتصفحات الأربعة التي تم اختبارها. بشكل عام ، يمكنك مشاهدته بطريقتين:
  • اتبع الرابط المؤدي مباشرة إلى script2.php والموجود على صفحة موقعنا ؛
  • تكوين طلب http برأس المرجع المحدد فيه.
يمكنك زيادة كفاءة الاختباء بالطرق التالية:
  1. باستخدام mod-Rewrite ، استبدل script1.js و script2.js بالانتقال إلى الخادم باستخدام script1.php و script2.php ، على التوالي ، بحيث تحتوي الصفحة على ملفات js مألوفة للجميع ، لأن php ملفت للنظر ؛
  2. لجعل النص الوهمي معقدًا وقابل للتصديق ومربكًا قدر الإمكان ، بحيث يعاني الشخص الذي يحاول تفكيكه كثيرًا قبل أن يدرك أنه قد تم خداعه ؛
  3. التعتيم على الكود.

لقد أصدرنا كتابًا جديدًا بعنوان Content Marketing in الشبكات الاجتماعية: كيفية الوصول إلى رأس المشتركين والوقوع في حب علامتك التجارية ".

الكود المصدري للموقع عبارة عن مجموعة من ترميز HTML ، أنماط CSSونصوص JavaScript التي يتلقاها المستعرض من خادم الويب.

المزيد من مقاطع الفيديو على قناتنا - تعلم التسويق عبر الإنترنت مع SEMANTICA

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

يتم تخزين الموقع على خادم ويب يرسل الصفحة بناءً على طلب المستخدم. الطلب هو كتابة عنوان URL في شريط العناوين ، أو النقر فوق ارتباط ، أو النقر فوق زر إرسال في نموذج. لا يهم اللغة التي تمت كتابة صفحات الويب بها ، سواء كانت متضمنة أم لا جزء البرنامج... النتيجة النهائية لأي خوارزمية من جانب الخادم هي مجموعة من علامات html والنص.
شفرة المصدر للصفحة هي مجموعة بيانات تتضمن:

  • ترميز html ؛
  • ورقة الأنماط أو رابط الملف ؛
  • برامج مكتوبة بلغة JavaScript أو روابط لملفات مشفرة.

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

لماذا قد نحتاج إلى دراسة شفرة المصدر

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

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

هذه ميزات أساسية ، ولكن في الواقع ، من خلال معرفة كيفية قراءة الكود ، يمكنك معرفة المزيد عن الصفحة.

كيفية عرض الكود المصدري للموقع

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

نختار الخيار "عرض رمز الصفحة" ونحصل على القائمة الكاملة في علامة تبويب منفصلة.

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

كيفية العثور على الكود المصدري لصفحة الموقع

انقر على أيقونة القائمة في المتصفح. غالبًا ما يكون على اليمين ويبدو مثل ثلاث نقاط أو خطوط.

في الفصل أدوات إضافيةحدد "أدوات المطور".

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

في علامة التبويب "المصدر" ، يمكنك عرض محتوى بعض الملفات: البرامج النصية ، والخطوط ، والصور.

التحقق من شهادة الموقع متاح في علامة التبويب "الأمان".

ستساعد علامة التبويب "المراجعات" على التحقق من المورد المنشور على الاستضافة.

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

كيفية عرض العلامات الوصفية

يتضمن كل مستند html علامات هيكل. هنا بعض منهم:

  1. html - المستند بأكمله.
  2. رأس - قسم رؤوس الخدمة.
  3. العنوان - عنوان الصفحة (يتم عرضه في علامة التبويب).
  4. النص الأساسي - نص المستند.
  5. H1-H6 - رؤوس نص الصفحة.
  6. مقال - مقال.
  7. قسم - قسم.
  8. القائمة - القائمة.
  9. ديف - بلوك.
  10. سبان هو سلسلة.
  11. ف - فقرة.
  12. الجدول - طاولة.

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

من المستحيل معرفة محتوياتها بأي طريقة أخرى.

دعنا ننتبه إلى علامة الارتباط. مع مساعدتها ، يشار إلى روابط لملفات التضمين الخارجية. إذا رغبت في ذلك ، يمكنك رؤية المحتويات وحفظها على القرص. للقيام بذلك ، قم بتمرير المؤشر فوق العنوان واضغط على RMB. حدد "فتح في علامة تبويب جديدة".

سيتم فتح الملف المحدد في علامة تبويب جديدة ويمكن عرضه أو حفظه.

كيفية عرض التعليمات البرمجية المصدر لصفحة ما لتصحيح البرنامج النصي

في هذه الحالة ، من الأنسب فتح الصفحة على الجهاز المحلي. إذا كنت تحتاج فقط إلى إصلاح العلامات والأنماط والبرامج النصية ، فيمكنك القيام بذلك مباشرة من المجلد. يتم عرض كود html بنفس الطريقة. ومع ذلك ، يمكن رؤية أخطاء تعليمات JavaScript البرمجية في علامة التبويب "وحدة التحكم". يعرض وصفًا للخطأ ورقم السطر الذي حدث فيه.

يمكن رؤية بناء الجملة مباشرة في الكود. تم إعداد علامة التبويب "المصدر" لهذا الغرض.

كيفية عرض رمز عنصر معين

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

سيتم فتح نفس النافذة ، ولكن مع التركيز على الكائن المحدد.

ملخص

قلنا لك ما هو رمز مصدر الصفحة. يكفي إتقان المعرفة الأساسية بـ HTML و CSS ، وباستخدام أدوات مطور ملائمة ، يمكنك تصحيح مستندات html الخاصة بك.

سيسمح لك تصفح رمز المورد على الإنترنت بالتعلم ليس فقط من تجربتك الخاصة ، ولكن أيضًا استخدام أمثلة عمل حقيقية. وبالنسبة لمتخصصي SEO ، ستكون العلامات الوصفية مفيدة ، حيث يمكن للمعلومات التي يمكن أن توضح الكثير عن الموقع.