يترك
بوابة معلومات المرأة
  • كيف تحلم بطرق الناس المنحرفة
  • خمسة خماسيات (5 خماسيات): بطاقة التارو معاني خمس خماسيات
  • خمسة من الخماسي
  • النوم في جنازة - في كشك ، محارق الجثث وعلى tsvintary
  • كيف تطبخ بشكل صحيح؟
  • Psuvannya للصحة - علامات وكيفية تناولها؟
  • لوحة ج Inurl cgi cmd. برمجة CGI مفيدة

    لوحة ج Inurl cgi cmd.  برمجة CGI مفيدة

    التجارة الإلكترونية مع روسي حكيم. كيف تحسن الأعمال على الإنترنت؟

    في بقية الساعة ، يتم جر المزيد من المشاريع المتعلقة بالتجارة عبر الإنترنت. Vivchayuchi chey straight ، لا يعرف zmіg الوصف البري والمعقول للعملية. لذلك ، إذا كنت تريد التعرف على أوراق الغش ، فستتمكن من العمل حتى تتمكن من ذلك ، لفهم ترتيب مثل هذا المعرض ، مثل التجارة الإلكترونية.

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

    التجارة الإلكترونية: ما هي؟

    عين في مناسبات مختلفة للحديث عن بيع السلع والخدمات عبر الإنترنت. بكلمات بسيطة ، التجارة الإلكترونية ، be-yak diyalnіst merezhi ، de zayavlyayutsya pennies.

    شراء ، مبيعات ، تأمين ، بنوك ، بنسات إلكترونية ، كلها هنا. التقط ، قم بالتسجيل.

    نوع من methy

    من أجل الحصول على rozіbratisya nіtnі ، proponu rozpochati slyakh іz the kintsya. أي نوع من التعريف له أي عمل؟ هذا صحيح ، اكسبه. لذا يوضح المحور ما إذا كان هناك منتج ، على سبيل المثال ، أوشحة سيليكون. لماذا b i n i!

    بأخذ أول ما وقع في الفكر ، اتضح أنه هو نفسه ...

    مهمتنا هي كسب هذه shkarpetkas. نفكر في الإنترنت. حسنًا ... لماذا لا "تقطع" الموقع والمحور ، كيف تروج للمبيعات ، فقط أنقذني جزر المالديف! لكن الأمر ليس بهذه البساطة.

    أنا أشبه بالطفل. يساعد على فهم العمليات المختلفة. هلا فعلنا؟

    حتى الآن ، نموذجنا يبدو هكذا. نأخذ الأوشحة ونضعها على الإنترنت ونأخذ فلساً واحداً. إنه لأمر رائع! العيون تحترق ، والوديان تتعرق ، ومع ذلك تريد أن تأخذ اليمين. ولكن هل من الضروري بناء موقع على شبكة الإنترنت لبيع maidanchik؟

    موقع ابو ميدانتشيك للبيع

    Є rіznі rіshennya للسلع rozmіshchennya svogo من all-svіtny pavutinnі. يمكنك إنشاء موقع الويب الخاص بك أو إنشاء maidanchiks لجهات خارجية (مجموعات وأحزاب في وسائل التواصل الاجتماعي ومجالس الدعاية وغيرها). دعنا ندخل إلى الموقع.

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

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

    أنظمة السداد

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

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

    كان من الممكن أن يعطي المحور كل شيء. الموقع وبطاقات البضائع وزر "شراء" يعمل ، لكنه لا يعمل ... لا يوجد تدفق للعملاء ، مثل cupuvatime.

    يتدفق العميل

    De: CAC = معدل قبول العميل الجديد. MCC (marketingcampaigncosts) = العدد الإجمالي للحملات التسويقية المستثمرة في العملاء المكتسبين (ale z utrimannya). W (الأجور) = راتب المسوقين ومديري المبيعات. S (البرنامج) = مجموعة متنوعة من البرامج التي تربح في الإعلانات والمبيعات (على سبيل المثال ، منصات المبيعات الفائزة ، وأتمتة التسويق ، واختبار A / B ، وخدمات التحليل ، وما إلى ذلك). PS (الخدمات المهنية) = مجموعة متنوعة من الخدمات المهنية التي تعتمد على التسويق والمبيعات (تصميم ، استشارات). O (أخرى) = سندات الشحن الأخرى التي تكلف تسويق ذلك البيع. CA (customersacquired) = إجمالي عدد العملاء المكتسبين.

    لكن لا يمكنك أن تنسى جودة العميل ، هنا سوف تساعدك LTV.

    مؤشرات مهمة: LTV

    قيمة الوقت المباشر ، دورة حياة العميل ، مؤشر آخر للتجارة الإلكترونية ، يجب حمايته. يظهر Win ما يجلبه عميل واحد من متوسط ​​الدخل. Є raznі اذهب إلى rozrahunka ، اخترت الفعلي للفائض ، كواحد من أكثرها دقة.

    إنه مجرد مجموع ربح كبير في تاريخ المشتريات الكامل لعميل صديق للبشرة. أضف مجموع كل مشتريات (معاملات) العميل إلى المعاملة N ، de المعاملة N - آخر عملية شراء ، حيث دخل العميل شركتك. نظرًا لأنه يمكنك الوصول إلى جميع بيانات معاملات العملاء ، يمكنك بسهولة حساب التكاليف باستخدام Excel.

    LTV = (المعاملة 1 + المعاملة 2 + المعاملة 3 ... + المعاملة N) x جزء من الدخل من viruccia.

    Razrahunok LTV على أساس الربح الصافي ، مع إظهار الربح الفعلي الذي يجلبه العميل لشركتك. هنا يتم احترام جودة الخدمة للعملاء ، وجودة الصباح ، وجودة توشو الهادئة. نتيجة لذلك ، يتم حساب المجمع بأكمله ، والذي يعتمد على العدد الإجمالي للإشادات التي تم أخذها. سوف يمنحك الفائض ، الذي يتم الحصول عليه من عميل واحد طوال الساعة ، فهمًا أفضل لربحية عملائك اليوم.

    بالنسبة للطرق الأخرى ، يمكنك معرفة ذلك على.

    مؤشرات مهمة: CAC و LTV

    من أجل فهم حياة الأعمال التجارية ، من المهم أن تتعجب من إعداد عرضين للثروة من CAC: LTV.

    • Mensh nizh 1: 1 - أنت تسرع بأقصى سرعة نحو الإفلاس.
    • 1: 1 - أنت تنفق فلسا واحدا على جلد العميل المشع.
    • 1: 2 - هذا ليس جيدًا ، ولكن يبدو أنك لا تضع ما يكفي من المال ، ولكن يمكنك أن تتطور بشكل أفضل. إطلاق حملات أكثر شدة لجذب العملاء والوصول إلى مؤشرات الأقارب تصل إلى 1: 3.
    • 1: 3 - مثالي spіvіdnoshennia. لديك عمل مزدهر ونموذج عمل كبير.

    مؤشرات مهمة: عائد الاستثمار لا ينسى

    كما اكتشفنا ، في التجارة الإلكترونية ، من الضروري أن نفهم بوضوح ، وهو ما يجب رؤيته للفوز بقناة الإضاءة. Krim LTV و CAC هو مؤشر مهم آخر ، أي عائد الاستثمار. أنت تظهر أن استثمارك قد آتى أكله ، في رأينا في الإعلانات. توبتو. جلب لنا skіlki واحد karbovanets الاستثمار النتيجة.

    بالنسبة لـ rozrahunka ، فإن النائب هو بالفعل صيغة خرقاء:

    De "العائد من الحملة" ، الفرق بين الدخل لكل قناة والعلامة التجارية المشتركة لمنتجك. ولتوفير المال ، لأخذ المزيد من الأموال للإعلان.

    بهذا الترتيب ، تكون الصيغة أكثر وضوحًا كما يلي:

    ROI \ u003d (الإيرادات لكل قناة - Sobіvartіst) - عرض الإعلانات / عرض الإعلانات × 100٪

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

    جميع العروض الثلاثة ، كما اخترنا ، مهمة في التجارة الإلكترونية. يسمح لك مظهرهم بمعرفة الأماكن "الأعلى" في التيارات الخاصة بك والتدرب معهم. Yakraz لديهم إمكانات متزايدة لنمو الأعمال. إضافة المزيد من اللمسات إلى نموذجنا مع الأوشحة.

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

    معاً

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

    لذا لا ننسى قليلا مع تقدمكم أيها القراء الأعزاء! أنا bazhayu تتقدم صخرة أنت عظيم غزت هذا الوحش!

    الفصل 9.

    برمجة CGI مفيدة

    يمكن إضافة قسم عن CGI في الكتاب من قواعد البيانات إلى الأرضيات الرائعة ، حيث تم تضمين فصل خاص بإصلاح السيارة في كتاب الطهي. اكتشفت أنه إذا كنت تريد الذهاب إلى متجر البقالة ، فأنت بحاجة إلى سيارة جيدة ، وإلا كيف يمكنك التحدث عنها؟ أحدث مقدمة لـ CGI وبرمجة الويب هي خارج نطاق هذا الكتاب بكثير ، ولكن مقدمة قصيرة عنها كافية لتوسيع قوة MySQL و mSQL إلى ما وراء عالم الويب.

    في الأساس ، كان الغرض من هذا التقسيم لأولئك الذين تعلموا أساسيات البيانات ، لكنهم لا يمانعون في اكتساب المعرفة والمعرفة في البرمجة للويب. نظرًا لأن اسمك هو Berners-Lee أو Andressen ، فمن غير المرجح أن تعرف هنا أولئك الذين لا تعرفهم بعد. ومع ذلك ، فأنت لست مبتدئًا في CGI ، ولكن قد تكون أكثر دراية بيد دليل قصير لمدة ساعة في لغز MySQL و mSQL.

    ما هو CGI؟

    مثل المزيد من الاختصارات ، فإن واجهة البوابة المشتركة (CGI - واجهة البوابة العالمية) ليست كافية للقول في جوهرها. واجهة من ماذا؟ أين البوابة؟ حول ياكو سبولنيست موفا؟ Shchob vіdpovіsti على qі pitannya ، أعد تروهي إلى الوراء تلك النظرة السينمائية على WWW المحروقة.

    طور تيم بيرنرز لي ، الفيزيائي ، الذي عمل في CERN ، الويب في عام 1990 ، على الرغم من إصدار الخطة في عام 1988. - النصوص والصور والصوت - عبر الإنترنت. يتكون WWW من ثلاثة أجزاء رئيسية: HTML و URL و HTTP. لغة البرمجة- mov formatuvannya، scho vikoristovuєtsya لتقديمها إلى الويب. url-عناوين tse ، مثل vikoristovuetsya لـ otrimannya بدلاً من تنسيق HTML (أو غير ذلك) من خادم الويب. اخيرا http- tse mova ، خادم الويب yaka zozumila والسماح للعملاء بالوسائط إلى خادم المستندات.

    أصبحت إمكانية نقل المعلومات بجميع أنواعها عبر الإنترنت ثورة ، وظهرت إمكانية أخرى. كيف يمكنك إرسال نص عبر الويب ، ولماذا لا يمكنك إرسال نص تم إنشاؤه بواسطة برنامج ، ولكن لماذا لا يتم نقله من ملف منتهي؟ في الوقت نفسه ، ينفتح بحر من الفرص. بعقب بسيط: يمكنك تغيير البرنامج لإظهار الساعة الحالية ، حتى يجد القارئ الساعة الصحيحة عند النظر إلى جانب الجلد. أهداف Dekіlka المعقولة في المركز الوطني لتطبيقات الحوسبة الفائقة (المركز الوطني لتطوير الإضافات لأجهزة الكمبيوتر العملاقة - NCSA) ، كما لو كانوا يقومون بإنشاء خادم ويب ، تم تقديم مثل هذا الاحتمال ، وظهرت CGI بشكل غير متوقع.

    CGI - مجموعة القواعد التي يمكن للبرامج الموجودة على الخادم إرسال البيانات إلى العملاء من خلال خادم الويب. كانت مواصفات CGI مصحوبة بتغييرات في HTML و HTTP ، والتي قدمت ميزة جديدة تبدو وكأنها نموذج.

    بينما تسمح CGI للبرامج بإرسال البيانات إلى العميل ، فإن النماذج توسع القدرة على السماح للعميل بإرسال البيانات إلى برنامج CGI. الآن لا يمكن لـ koristuvach فقط bachiti الساعة الحالية ، ولكن أيضًا تحديد السنة! قدمت نماذج CGI أبوابًا للتفاعل المناسب في عالم الويب. تشمل برامج CGI الموسعة:

    • ديناميكي HTML. يمكن إنشاء أهداف الموقع بواسطة برنامج CGI واحد.
    • Poshukovi mekhanizmi ، scho يعرف الوثائق من الكلمات المختصرة المعطاة.
    • صُعق ضيوف الكتاب ، فبإمكانهم إضافة معلومات إلى نوع من coristuvachi.
    • نماذج
    • استبيانات.
    • فحص المعلومات الموضوعة على خادم قاعدة البيانات.

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

    نموذج HTML

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

    <НТМL><НЕАD><ТITLЕ>صفحتي مع النماذج


    <р>شكل Tse storіnka іz.


    أدخل أسمك:



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


    علامة Tsey لتحكي عن شكل قطعة خبز. على سبيل المثال ، تحتاج إلى تجعيد العلامة

    . العلامات Mіzh
    يُسمح بثلاث سمات: يحدد الإجراء عنوان URL أو مسارًا مباشرًا لبرنامج CGI الذي سيرسل البيانات ؛ METHOD تحدد طريقة HTTP ، والتي سيتم من خلالها إرسال النموذج (إما يمكنك استخدام GET أو POST ، أو يمكنك دائمًا استخدام POST) ؛ يحدد ENCTYPE طريقة تشفير البيانات (يجب عليك ترميزها فقط مع فهم واضح لما تريد).


    Nadaє أكثر طريقة gnuchkiy لتقديم البيانات coristuvach. في الواقع ، هناك تسعة أنواع مختلفة من العلامات . يُشار إلى النوع بواسطة سمة TYPE. في المؤخرة الأمامية هناك نوعان من العلامات : أحدهما من نوع الإرسال والآخر من النوع TEXT. تسعة أنواع من هذا القبيل:

    نص

    حقل لإدخال صف واحد من النص.

    كلمة المرور

    تلك التي هي TEXT ، ولكن النص الذي تم إدخاله ، لا تظهر على الشاشة.

    صندوق التحقق

    الراية ، يمكن تثبيت نوع من koristuvach والتخلص منه.

    مذياع

    زر الاختيار ، لا يزال بإمكاني دمجه مع زر اختيار واحد. يمكن لـ Koristuvach اختيار أكثر من واحد.

    يُقدِّم

    الزر ، عند الضغط عليه ، يتم فرض هذا النموذج على خادم الويب.

    إعادة ضبط

    زر ، عند الضغط عليه ، سيستعيد النموذج القيم القياسية.

    ملف

    تشبه الرسالة النصية ، ولكن تمرير اسم ملف الإدخال ، والذي سيتم إرساله إلى الخادم.

    مختفي

    حقل غير مرئي ، حيث يمكن حفظ البيانات.

    صورة

    زر مماثل SUBMIT ، أو يمكنك تعيين صورة للصورة على الزر.

    سمات Okrim TYPE صوت سمة NAME ، مما يعني أن الإدخال في حقل البيانات يتوافق مع الاسم الحالي. يتم تمرير هذه البيانات إلى الخادم في نمط القيمة = القيمة. على المؤخرة الأمامية ، تم تسمية حقل النص بالاسم الاسم الأول. يمكنك تحديد سمة VALUE لتضمين حقول من النوع TEXT و PASSWORD و FILE و HIDDEN بقيمة. نفس السمة ، التي تتم كتابتها للأزرار من نوع الإرسال أو إعادة الضبط ، تعرض نصًا عليها. يمكن عرض الحقول من نوع RADIO و CHECKBOX على أنها موضوعة خلف سمة CHECKED إضافية بدون قيمة.

    يتم تعيين السمة SIZE لتعيين نوع الري TEXT و PASSWORD و FILE. يمكن ثني السمة MAXLENGTH لتحديد طول النص المطلوب إدخاله. تحدد سمة SRC عنوان URL للصورة المراد تغريدها في نوع IMAGE. إذا كان الأمر كذلك ، تحدد سمة ALIGN طبيعة عرض الصورة لنوع IMAGE وقد تتضمن القيم TOP أو MIDDLE أو BOTTOM (للتأمين) أو LEFT أو RIGHT (أعلى ، أسفل ، يسار ، يمين).

    .

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

    سأرسم مساحة للمقدمة. داني تمتلك اسم "مقال". يبلغ عرض كتلة النص 70 حرفًا وعمقها 10 صفوف. مسافة بين العلامات

    يمكنك vikoristovuvati للرسم. ->

    النوعان "SUBMIT" و "RESET" صالحان. يمكن إعادة تعيين زر "إرسال" إلى "إدخال البيانات" ، ويمكن كتابة الزر "إعادة تعيين" خلف القفل (المشار إليه بواسطة المتصفح). بالنقر فوق الزر "إرسال" ، سترسل البيانات إلى خادم الويب ، وسيؤدي زر "إعادة الضبط" إلى استعادة البيانات ->


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

    بمجرد أن تتعرف على أساسيات نماذج HTML ، يمكنك معرفة المزيد حول CGI.

    مواصفات CGI

    إذن ، ما هي بالضبط "مجموعة القواعد" التي تسمح لبرامج CGI في باتافيا ، إلينوي ، على سبيل المثال ، بتبادل البيانات مع مستعرض ويب في Outlander Mongolia؟ يمكن العثور على المواصفات الرسمية لـ CGI وغيرها من المعلومات حول CGI على خادم NCSA على http: // hoohoo . ncsa.uluc.edu/cgi/.ومع ذلك ، قمت بتقسيمهم لهذا الغرض ، بحيث لم يكن لديك فرصة لارتفاع السعر لفترة طويلة والقيام بذلك بنفسك.

    فيما يلي بعض الطرق التي تنقل بها CGI البيانات بين إطار CGI-npor وخادم الويب وأيضًا عميل الويب:

    • تغيير الحدة.
    • سطر الأوامر.
    • نقطة دخول قياسية.
    • مرفق قياسي للعرض.

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

    يتم توجيه هذه البيانات من تقدير إلى خادم HTTP Apache. Apache هو خادم الويب الأكثر استخدامًا والذي يعمل عمليًا على أي نظام أساسي ، بما في ذلك Windows 9x و Windows NT. ومع ذلك ، يمكن حظر الرائحة الكريهة على جميع خوادم HTTP من أجل دعم CGI. قد يكون للخوادم الحاصلة على براءة اختراع ، مثل Microsoft و Netscape ، وظائف إضافية أو تعمل بطريقة أخرى. تستمر شظايا وجه الويب في التغيير مع اسم swidkist ، ولا تزال المعايير قيد التطوير ، وفي المستقبل ، بدون أي أثر ، سيتم إجراء التغييرات. ومع ذلك ، عندما يتعلق الأمر بـ CGI ، يبدو أن هذه التكنولوجيا متعبة - تبكي على تكلفة طرحها ، لأن التقنيات الأخرى ، مثل التطبيقات الصغيرة ، أصبحت متعبة. جميع برامج CGI ، إذا كتبت معلومات منتصرة ، قد تتمكن بسهولة من معالجة المزيد من البيانات على خوادم الويب الكبيرة.

    إذا طلب برنامج CGI نموذجًا إضافيًا - الواجهة الأكثر امتدادًا ، يرسل المتصفح إلى الخادم صفًا طويلًا ، يوجد على قطعة خبز منه مسار إلى برنامج CGI وهو іm'ya. ثم هناك بيانات أخرى مختلفة تسمى مسارات المعلومات ويتم تمريرها إلى برامج CGI من خلال تغيير ملف PATH_INFO (الشكل 9-1). بعد المعلومات ، يتبع المسار الرمز "؟" ، وبعده - أشكال البيانات ، لأنها تجبر الخادم على مساعدة طريقة HTTP GET. تصبح هذه البيانات متاحة لبرامج CGI عن طريق تغيير شحذ QUERY_STRING. بغض النظر ، إذا قام الطرف الثالث بفرض طريقة HTTP POST إضافية ، وهي الطريقة الأكثر شيوعًا ، فسيتم تمريرها إلى برامج CGI عبر امتداد الإدخال القياسي. يظهر الصف النموذجي ، والذي يمكن استخدامه كخادم من المستعرض ، في الشكل. 9-1. برنامج مع الأسماء مقروءفي الحافز سي جي بنتم استدعاؤه بواسطة الخادم بمعلومات إضافية معلومات اضافيةوإعطاء خيار الإدخال = مساعدة - ربما كجزء من عنوان URL الناتج. Nareshti ، يتم إرسال بيانات النموذج نفسه (نص برمجة CGI في حقل الكلمات الرئيسية) عبر طريقة HTTP POST.

    تغيير الشحذ

    إذا فاز الخادم ببرنامج CGI ، فسنقوم بنقل البيانات للعمل على مرأى من التغيير. وفقًا للمواصفات ، تم وضع علامة رسميًا على سبعة عشر اسمًا ، ولكن بشكل غير رسمي يوجد أكثر بكثير - لآلية إضافية ، موصوفة أدناه ، تسمى HTTP_ / nec / zams / n. برنامج CGI

    يمكنك الوصول إلى هذه التغييرات بنفس الطريقة وكذلك لأي تغيير في منتصف معالج الأوامر تحت ساعة الإطلاق من سطر الأوامر. في برنامج نصي شل ، على سبيل المثال ، يمكن تحويل تغيير F00 إلى $ F00 ؛ لا يبدو أن لغة Perl تشبه $ ENV ("F00") ؛ في C ، getenv ("F00") ؛ إلخ في الجداول 9-1 ، يتم إعادة تعيين التغييرات ، والتي يتم تعيينها دائمًا بواسطة الخادم - إذا كانت القيمة خالية. إذا كنت تريد تغيير البيانات التي يديرها العميل عند رأس الطلب ، فأنت بحاجة إلى تغيير النموذج HTTP_F00 ، حيث يكون F00 هو اسم الرأس. على سبيل المثال ، تتضمن معظم متصفحات الويب معلومات الإصدار في الرأس بالاسم USEfl_AGENT. يمكن أن يأخذ إطار عمل CGI-npor الخاص بك بعض البيانات من تغيير HTTP_USER_AGENT.

    الجدول 9-1.تغييرات شحذ CGI

    تغيير الشحذ

    وصف

    طول المحتوى

    عدد البيانات المنقولة بأسلوب POST و PUT بالبايت.

    نوع المحتوى

    نوع MIME للبيانات المرسلة لطرق المساعدة POST أو PUT.

    GATEWAY_INTERFACE

    رقم إصدار مواصفات CGI التي يدعمها الخادم.

    PATH_INFO

    معلومات إضافية حول المسار ، مقدمة من العميل. على سبيل المثال ، للاستفسار http: //www.myserver.eom/test.cgi/this/is/a/ المسار؟ المجال = الأخضرستكون قيم التغيير PATH_ INFO / هذا / هو / a / مسار.

    PATH_TRANSLATED

    نفس PATH_INFO ، ولكن الخادم virobleya كل شيء


    من الممكن إذاعة ، على سبيل المثال ، امتداد أسماء من نوع "حساب". »

    QUERY_STRING

    Usі danі ، scho لمتابعة الرمز "؟" على URL. هذه هي أيضًا البيانات التي يتم تمريرها إذا كان النموذج REQ-UEST_METHOD هو GET.

    REMOTE_ADDR

    عناوين IP للعميل المراد طلبها.

    المضيف البعيد

    أنا في عقدة جهاز العميل ، إنه هكذا.

    REMOTE_IDENT

    كيف يتعامل خادم الويب هذا العميل مع تعريف النوع الهوية ،ثم tse im'ya koristuvach oblіkovogo zapisu ، yaky rob zap.

    REQUEST_METHOD

    الطريقة التي يتم إثباتها من قبل العميل للطلب. بالنسبة لبرامج CGI ، أيًا كانت الطريقة التي نختارها للقيام بذلك ، إما POST أو GET.

    اسم الخادم اسم المضيف - أو عناوين IP ، نظرًا لعدم توفر الاسم ، - الأجهزة التي يوجد عليها خادم الويب.
    SERVER_PORT رقم المنفذ الذي سيفوز به خادم الويب.
    SERVER_PROTOCOL
    البروتوكول ، وهو عميل منتصر للتواصل مع الخادم. في حالتنا ، قد يكون البروتوكول دائمًا є HTTP.
    SERVER_SOFTWARE بيانات حول إصدار خادم الويب الذي يقوم بتشغيل برنامج CGI.

    SCRIPT_NAME

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

    قم بتشغيل برنامج نصي Perl CGI لإظهار جميع التغييرات التي تم تعيينها بواسطة الخادم ، وإظهار جميع التغييرات المتدهورة ، مثل PATH ، التي تم تعيينها بواسطة معالج الأوامر عند بدء تشغيل الخادم.

    #! / usr / bin / perl -w

    مطبعة<< HTML;

    نوع المحتوى: نص / html \ n \ n

    <р>تغيير الشحذ

    لغة البرمجة

    foreach (keys٪ ENV) (طباعة "$ _: $ ENV ($ _)
    \ن"؛ )

    مطبعة<

    لغة البرمجة

    يمكن تغيير جميع التغييرات بواسطة برنامج CGI الخاص بك. ومع ذلك ، لا تبدأ هذه التغييرات خادم الويب عند بدء تشغيل البرنامج.

    سطر الأوامر

    يسمح CGI بتمرير الوسائط إلى برامج CGI كمعلمات سطر أوامر ، والتي نادرًا ما تكون صعبة. نادرًا ما فازت بالنسبة لأولئك الذين هم من الناحية العملية zastosuvannya її لا تعد ولا تحصى ، ولن نبصق عليه في تقرير. خلاصة القول هي أنك إذا قمت بتغيير QUERY_STRING بشكل أكثر حدة من الرمز = ، فإن برنامج CGI سيتبع معلمات سطر الأوامر المأخوذة من QUERY_STRING. على سبيل المثال، http://www.myserver.com/cgi- بن / الاصبع؟ الجذرتشغيل جذر الإصبع www.myserver.com.

    احتفظ بمكتبتين رئيسيتين توفران واجهة CGI لبيرل. أولهم - cgi-lib.plجدوى cgi-lib.plعلى نطاق أوسع ، أصبحت القطع الممتدة خلال الساعة المزدهرة مكتبة كبيرة وواضحة واحدة. تم التعرف على Vaughn للعمل في Perl 4 ، ولكنه مستخدم أيضًا في Perl 5. CGI.pm ،جديد وغني بما أسلمه cgi-lib.pl CGI.pmمكتوب لـ Perl 5 ومخطط كامل موجه للكائنات للعمل مع بيانات CGI. وحدة CGI.pmتحليل الإدخال القياسي وتغيير QUERY_STRING وحفظ البيانات في كائن CGI. برنامجك مسؤول عن إنشاء كائن CGI جديد وتعديل الطرق البسيطة مثل paramQ للحصول على البيانات التي تحتاجها. بعقب 9-2 - عرض قصير لكيفية ذلك CGI.pmتفسير البيانات. كل المؤخرات على بيرل ستنتصر CGI.PM.

    الأسهم 9-2. تحليل بيانات CGI في Perl

    #! / usr / bin / perl -w

    استخدام CGI qw (: قياسي) ؛

    # ضع علامة على وحدة CGI.pm. qw (: قياسي) استيراد

    # قم بتوسيع أسماء وظائف CGI القياسية للاختيار

    # كود مجنون. يمكنك العمل ، مثل البرنامج النصي

    # هناك أقل من عنصر CGI للفوز.

    $ mycgi = CGI جديد ؛ #Create a CGI object، الذي سيكون "بوابة" لهذه النماذج

    @ الحقول = $ mycgi-> param؛ # املأ أسماء جميع الحقول المكتملة في النموذج

    رأس الطباعة ، start_html ("اختبار CGI.pm") ؛ أسلوب ft "header" و "start_html" ،

    # يعطي

    # CGI.pm ، اسأل عن HTML.

    # "header" عرض رأس HTTP المطلوب ، أ

    # "start_html" إظهار رأس HTML بالاسم المحدد ،

    #a هي أيضًا علامة .

    مطبعة"<р>بيانات النموذج:
    ";

    foreach (fields) (print $ _، ":"، - $ mycgi-> param ($ _)، "
    "; }

    # بالنسبة لمجال الجلد ، أرني المعنى الذي يتم استخدامه للمساعدة

    # $ mycgi-> param ("اسم الحقل").

    طباعة end_html ؛ # اختصار لرؤية علامات النهاية "".

    معالجة بيانات الإدخال ج

    بعض واجهات برمجة التطبيقات الرئيسية لـ MySQL و mSQL مكتوبة بلغة C ، لكننا لن نستخدم لغة C لـ Perl ، ولكن هناك ، على سبيل المثال ، سنشير إلى بعض التطبيقات لـ C. هناك ثلاث مكتبات C مستخدمة على نطاق واسع لـ CGI برمجة: cgicتوم بوتيل * ؛ cgihtmlيوجين كيم تي تا libcgiاكتب EIT *. نحن نهتم بماذا cgicدعونا نوبخ المنتصرين ونسامحهم. هو ، بروتين ، ليس لديه القدرة على إحياء جميع الأشكال المتغيرة ، إذا كانت الرائحة الكريهة لا تعرفك في وقت مبكر. في الواقع ، يمكنك إضافة تصحيح بسيط بمسار ، أو تجاوز نطاق هذا القسم. إلى ذلك في مكتبة بعقب 9-3 ميل vikoristovuemo cgihtml ،لتكرار التمرير في نص برل مختلف.

    المخزون 9-3.تحليل بيانات CGI في لغة C.

    /* cgihtmltest.c - برنامج CGI عام لرؤية المفاتيح وقيمها

    بيانات s ، otrimanih vіd Forms * /

    #يشمل

    #include "cgi-lib.h" / * جميع وظائف CGI تذهب هنا * /

    #include "html-lib.h" / * جميع الوظائف الإضافية لـ HTML اذهب هنا * /

    print_all باطل (القائمة 1)

    / * تعرض هذه الوظيفة البيانات التي تم تمريرها في النموذج ، بنفس التنسيق الموجود في نصوص Perl النصية الأخرى. يحتوي Cgihtml أيضًا على وظيفة مضمنة

    Print_entries () للقيام بنفس الشيء لتنسيق قائمة HTML. * / (

    عقدة * نافذة

    / * نوع التعيينات "العقدة" من مكتبة cgihtml المستخدمة لقائمة المطابقة ، والتي يتم حفظ جميع بيانات النموذج منها. * /

    نافذة = i.head ؛ / * اضبط مؤشر نموذج البيانات على قطعة خبز * /

    while (window! = NULL) (/ * اجتياز القائمة المرتبطة إلى العنصر الأخير (أول فارغ) * /

    printf ("٪ s:٪ s
    \ n "، window-> entry.name، replace_ltgt (window-> entry.value)) ؛

    / * أدخل البيانات. Replace__ltgt () هي وظيفة تفهم ترميز HTML للنص وتضمن عرض الصور الصحيحة على متصفح العميل. * /

    نافذة = نافذة-> التالي ؛ / * انتقل إلى القائمة التالية. * /

    } }

    انت مين() (

    إدخالات llist؛ / * مؤشر على البيانات التي تم تحليلها * /

    حالة int / * رقم متكامل للحصول على الحالة * /

    html_header () ، / * وظيفة HTML إضافية لعرض رأس HTML * /

    html_begin ("اختبار cgihtml") ؛

    / * وظيفة HTML إضافية لعرض الجزء العلوي من جانب HTML من العنوان المحدد. * /

    الحالة = read_cgi_input (& إدخالات) ؛ / * إدخال تحليل هذه النماذج * /

    printf ("<р>بيانات النموذج:
    ");

    print_all (إدخالات) ؛ / * استدعاء وظيفة print_all () واحدة. * /

    html_end () ، / * وظيفة HTML إضافية لعرض نهاية جانب HTML. * /

    List_clear (إدخالات &) ؛ / * ذاكرة Zvіlnyaє ، التي تحتلها الأشكال المعطاة. * /

    العودة 0 ؛ )

    مرفق قياسي

    البيانات التي يتم فرضها بواسطة برنامج CGI على طريقة عرض قياسية ، تتم قراءتها بواسطة خادم الويب ويتم فرضها على العميل. كيف يمكنني بدء البرنامج النصي nph- ،ثم يتم فرض البيانات دون وسيط للعميل دون تسليمها من جانب خادم الويب. بهذه الطريقة ، يمكن لبرنامج CGI صياغة رأس HTTP صالح من شأنه أن يكون منطقيًا للعميل. في خطوة أخرى ، اسمح لخادم الويب بصياغة رأس HTTP نيابة عنك.

    Navіt yakscho أنت لا تفوز nph- السيناريو ، من الضروري أن يعطي الخادم توجيهًا واحدًا ، لإبلاغك بالمعلومات المتعلقة بشاهدك. استخدم رأس HTTP من نوع المحتوى ، أو رأس الموقع اختياريًا. الصف الفارغ التالي مسؤول عن الرأس ، أي إزاحة الصف أو مجموعة من CR / LF.

    يخبر رأس نوع المحتوى الخادم بنوع البيانات التي يراها برنامج CGI. تمامًا مثل جانب HTML ، يمكن أن يكون الصف نوع المحتوى: نص / html.يخبر رأس الموقع الخادم بعنوان URL التالي - الذي يوجه إلى نفس الخادم - إلى أين يتم توجيه العميل إليه. العنوان خطأ الأم ويبدو كالتالي: المكان: http: // www. ماي سيرفر. كوم / آخر / مكان /.

    بعد رؤوس HTTP والصف الفارغ ، يمكنك تجاوز البيانات التي يراها برنامجك - جانب HTML أو الصورة أو النص أو غير ذلك. من بين برامج CGI التي يتم تسليمها من خادم Apache ، є اختبار nph-cgiі اختبار cgi ،يرجى توضيح الفرق بين العناوين في أنماط nph و non-nph ، بشكل واضح.

    لمن شاركنا ، سوف نفوز بالمكتبات CGI.pmі cgicهذه لها وظيفة عرض الرؤوس مثل HTTP و HTML. تسمح لك Tse بأن تغضب من مشهد البصر. وظائف إضافية Tsі مخزونات vikoristanі ، المستحثة في وقت سابق والتي تم توزيعها.

    ميزات مهمة لنصوص CGI

    أنت تعرف بالفعل ، بشكل أساسي ، كيف تعمل CGI. يقوم العميل بتجاوز البيانات ، وطلب المساعدة ، إلى خادم الويب. يراقب الخادم برنامج CGI ، وينقل بياناته. يُنشئ برنامج CGI المعالجة الخاصة به ويعيد بيانات الإدخال إلى الخادم ، ثم يمررها بعد ذلك إلى العميل. الآن ، بعد أن فهمت كيفية ممارسة CGI-npor-rami ، من الضروري الانتقال إلى فهم سبب الاحتفاء بالرائحة الكريهة على نطاق واسع.

    إذا كنت ترغب في الحصول على معرفة كافية بهذا التوزيع ، لاختيار برنامج CGI عامل بسيط ، فأنت بحاجة إلى العثور على طعام أكثر أهمية ، أولاً قم بإنشاء برامج تعمل حقًا ، لـ MySQL أو mSQL. أولاً ، من الضروري تعلم كيفية التدرب على نماذج kіlkom. ثم سنحتاج إلى تعلم كيفية الدخول بأمان ، حتى يتمكن المهاجمون من الوصول غير القانوني إلى ملفات الخادم الخاص بك أو تدميرها.

    سأصبح ذكرى

    سأصبح ذكرى للحياة ومهمة مهمة لتقديم خدمة جيدة لـ koristuvachs الخاص بك ، ولن أخدم فقط لمحاربة الحقد المخبوز ، حيث يمكنك الهروب. المشكلة هي أن HTTP هو ما يسمى بالبروتوكول بدون ذاكرة. يعني Tse أن العميل يتجاوز البيانات إلى الخادم ، ويقوم الخادم بتسليم البيانات إلى العميل ، ثم يمضي في طريقه. لا يقوم الخادم بحفظ بيانات العميل ، والتي قد تكون مطلوبة في العمليات المستقبلية. وبالمثل ، ليس هناك ما يضمن أن العميل سيحمي العملية بشكل كامل ، حتى يتسنى لك الفوز بشكل أفضل. يفرض Tse بدون أرضية وسطية هذا الاستبدال على ويكي الويب العالمي.

    إن طي نصوص CGI بمثل هذا البروتوكول يشبه عدم القدرة على تذكر Rozmov. Shchoraz ، rozmovlyayuchi s be-kim ، بغض النظر عن حقيقة أنك تحدثت معه كثيرًا من قبل ، فقد قدمت نفسك وشوكت موضوعًا شائعًا للتجوال. لا تحتاج إلى شرح ما لا توفره في الإنتاجية. يوضح القليل 9-2 أن الجلد مختلف ، إذا كان برنامج CGI متاحًا ، فهو نسخة جديدة تمامًا من البرنامج لا يمكن توصيله بالسابق.

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

    تعتبر طريقة ملفات تعريف الارتباط أكثر أهمية لحفظ معرف ملف تعريف الارتباط. يمكن حفظ Vіdomosti حول vіdvіduvacha من الملف على جهاز الخادم. يمكن إرسال المعرف الفريد لهذا koristuvach كملف تعريف ارتباط إلى متصفح koristuvach ، وبعد ذلك ، عندما يتم إزالة موقع koristuvach ، يرسل المتصفح تلقائيًا نفس المعرف إلى الخادم. يرسل الخادم معرف برنامج CGI ، لذلك يفتح الملف الحالي ويرفض الوصول إلى جميع بيانات المصدر. يبدو أن كل شيء هو رتبة غير مفهومة بالنسبة لـ koristuvach.

    بغض النظر عن كل التآكل الذي تسببه هذه الطريقة ، فإن معظم المواقع الرائعة لا تفوز باعتبارها الموقع الوحيد الذي يستحق التذكر. لهذا السبب منخفض. أولاً ، لا تقبل جميع المتصفحات ملفات تعريف الارتباط. حتى وقت قريب ، المتصفح الرئيسي للأشخاص الذين يعانون من نقص في الرؤية (ناهيك عن الأشخاص الذين يعانون من نقص في إمكانية الوصول) - Lynx - لا يقبل ملفات تعريف الارتباط. النبيذ "رسميًا" لا يدعمهم ، ويريدون ذبح deyakі yogo المتاح على نطاق واسع "bіchnі gіlki". بطريقة أخرى ، والأهم من ذلك ، اربط ملف تعريف الارتباط بـ koristuvach بآلة الغناء. واحدة من أعظم نقاط القوة في الويب هي تلك المتوفرة من أي نقطة ضوئية. بغض النظر عما إذا تم إنشاء موقع الويب أو حفظه ، يمكنك إظهار ما إذا كان الجهاز متصلاً بالإنترنت. ومع ذلك ، إذا حاولت الوصول إلى موقع يقبل ملفات تعريف الارتباط من جهاز شخص آخر ، فسيتم أخذ جميع بياناتك الشخصية التي تم الوصول إليها بواسطة ملف تعريف الارتباط الإضافي.

    تستخدم الكثير من المواقع ، مثل السابق ، ملفات تعريف الارتباط لتخصيص صفحات الصفحات ، بل وتضيف أكثر من ذلك واجهة تقليدية لأسلوب "im'ya Registration / password". إذا كنت ترغب في الوصول إلى الموقع من مستعرض لا يقبل ملفات تعريف الارتباط ، يمكن للصفحة ملء النموذج لإدخال التسجيل وكلمة المرور المخصصة لك عند فتح الموقع لأول مرة. يبدو أن هذا النموذج صغير ومتواضع ، بحيث لا يجذب المزيد من coristuvachs ، ولا يعلق في التخصيص اليومي ، ولكن فقط أولئك الذين يريدون الذهاب إلى أبعد من ذلك. بعد إدخال نموذج كلمة المرور في نموذج اسم تسجيل CGI ، تعرف على الملف الذي يحتوي على بيانات حول كلمة المرور ، والتي تم إنشاؤها بواسطة ملف تعريف الارتباط. طريقة Vykoristuvuyuchy tsey ، يمكن تسجيل koristuvach على موقع ويب شخصي من أي نقطة ضوئية.

    Krіm zavdan image koristuvacha يمكن أن يجلب لك sberіgannya vіdomosti المثير للقلق حوله قدرًا ضئيلًا من الحفظ الذي سأصبح عليه ، وهو إعطاء آلات فاخرة شهيرة. إذا كنت تبحث عن مساعدة من مثل هذه الخدمات ، مثل AltaVista أو Yahoo ، فستحصل على نتائج أكثر بكثير ، أدناه يمكنك رؤيتها بطريقة يمكن قراءتها يدويًا. مشكلة Tsya vyrishuєtsya tim ، يظهر scho عددًا صغيرًا من النتائج - استدعاء 10 أو 20 - ويعطى ما إذا كان هناك أي سبب للتحرك لمراجعة مجموعة النتائج الهجومية. إذا أراد أحد المزايدات الكبيرة على الويب أن يكون مثل هذا السلوك مهمًا وواضحًا ، فإن تنفيذه ليس تافهًا وسيجعلني أتذكره.

    إذا حاول koristuvach أولاً أن يسأل عن آلية الصدمة ، فإن هذا الشخص يأخذ جميع النتائج ، ربما ، بالتفاعل مع نوع ما من حدود Kilkistyu. الحيلة هي أن ترى النتائج في وقت واحد في عدد صغير ، تذكر عندما تعتقد أن coristuvach طلب النتائج ومثل جزء من نبيذ الهجوم. إذا تركنا جانباً تعقيد الآلية الأكثر عشوائية ، فإننا نواجه مشكلة nadannya corystuvache deykoї іnformatsiї اللاحقة من جانب واحد. دعونا نلقي نظرة على المؤخرة 9-4 ، وفي هذه الحالة يظهر نص CGI أنه يجب عرض عشرة صفوف في الملف ونأمل أن نتمكن من إلقاء نظرة على الصفوف التالية أو الصفوف العشرة في المقدمة.

    الأسهم 9-4. سأكون بأمان مع البرنامج النصي CGI

    #! / usr / bin / perl -w

    استخدام CGI ؛

    افتح (F، "/ usr /ict / Words") أو يموت ("Can't type! $!")؛

    #Tse ، الذي يمكنك رؤيته ، لكن يمكنك أن تكون ياكيم.

    الناتج $ = CGI جديد ؛

    sub print_range (# هذه هي الوظيفة الرئيسية للبرنامج my $ start = shift ؛

    # صف Cob إلى ملف ، حساب $ الخاص بي = 0 ؛

    # المتصل ، خط $ الخاص بي = ""؛

    # Inline row to file ، اطبع $ output-> header ،

    $ output-> start_html ("قاموسي") ؛

    # أنشئ HTML من العنوان "My Dictionary"، print " \ن"؛

    بينما ((عدد الدولارات< $start) and ($line = )) ($ count ++؛)

    # تخطي كل الصفوف قبل الكوب ، بينما (($ count< $start+10) and ($line ? )) (print $ line؛ $ count ++؛)

    # تجاوز 10 صفوف.

    $ newnext الخاص بي = $ start + 10 ؛ $ newprev الخاص بي = $ start-10 ؛

    # قم بإعداد صفوف لعنوان URL "التالي" و "السابق" ،

    مطبعة"

    ";

    ما لم ($ start == 0) (# قم بتشغيل عنوان URL "السابق" ، فقط

    # لم يعد على قطعة خبز.

    طباعة qq٪ Previous٪؛ )

    ما لم (eof) (# تضمين عنوان URL "التالي" حتى تتمكن من # ليس في ملف النهاية.

    طباعة qq٪ Next٪؛

    }

    طباعة "HTML ؛لغة البرمجة

    خروج (0) ؛ )

    # ليس لدي أي بيانات ، ابدأ من جديد ،

    إذا (ليس الناتج $-> بارام) (

    & print_range (0) ؛ )

    # بالإضافة إلى ذلك ، يكاد يكون الرسم المطلوب من البيانات.

    & print_range ($ output-> param ("start")) ؛

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

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

    هذه هي الطريقة التي تعمل بها AltaVista والأجهزة الذكية الأخرى. عند الطلب الأول ، يتم إنشاء معرف koristuvach ، والذي يتم إرفاقه بعنوان URL التالي. Іz cim ID po'yazanі واحد أو عدة ملفات ، scho للانتقام من نتائج الطلب. يتم تضمين قيمتين أخريين في عنوان URL: الموضع الدقيق لملف النتيجة والملف المباشر ، حيث تريد الانتقال إلى مسافة جديدة. المعاني الثلاثة هي كل ما هو ضروري لعمل أنظمة الملاحة الضيقة لمحركات البحث العظيمة.

    فتيم ، نتزوج بشيء آخر. الملف الذي تم اختراقه في مؤخرتنا / البيرة / حمية / كلماتبالفعل رائع. ماذا ، كما لو أننا نغادر في منتصف قراءة مي يوغو ، لكن هل نريد أن ننتقل إلى pіznіshe جديد؟ إذا كنت لا تتذكر عنوان URL للصفحة التالية ، فلا توجد طريقة للعودة ، فلن يُسمح لك بالتنقل في AltaVista. إذا كنت بحاجة إلى إعادة ضبط جهاز الكمبيوتر الخاص بك ، أو ستبدأ في العمل على شيء آخر ، فلا يمكنك الرجوع إلى نتائج البحث السابق دون إعادة إدخال الطلب. ومع ذلك ، فإن هذا النوع من الذاكرة سيصبح أساسًا لإضفاء الطابع الشخصي على المواقع ، فقد تحدثوا عنها أكثر ، ويتعجبون من كيفية الإسراع. المخزون 9-5 هو نسخة معدلة من المخزون 9-4.

    الأسهم 9-5. سأقف بجانب الذاكرة

    #! / usr / bin / perl -w

    استخدام CGI ؛

    Umask 0 ؛

    افتح (F، "/ usr /ict / Words") أو يموت ("Can't type! $!")؛

    Chdir ("المستخدمون") أو يموت ("لا يمكنني التغيير إلى الدليل $!") ؛

    # انظر الكتالوج ، حيث سيتم حفظ جميع البيانات

    # حول koristuvach.

    الإخراج = CGI جديد ؛

    إذا (ليس الناتج $-> بارام) (

    print $ output-> header،

    $ output-> start_html ("قاموسي") ؛

    طباعة "HTML ؛


    <р>أدخل أسمك:


    لغة البرمجة

    خروج (0) ؛ )

    $ user = $ output-> param ("اسم المستخدم") ؛

    ## إذا لم يكن هناك ملف لـ koristuvacha ، فقم بإنشاء yogo وإدخاله

    ## القيمة الأولى "0" ،

    إذا (ليس -e "$ user") (

    افتح (U، "> $ user") أو مت ("Can't open it! $!")؛

    طباعة U "0 \ n" ؛

    أغلق U ؛

    & print_range ("0") ؛

    ## ما هو النص الأصلي في URL لم يتم إدراجها

    ## القيمة القديمة ، اقرأ باقي القيمة وابدأ من البداية.

    ) elsif (not $ output-> param ("start")) (

    افتح (U، "Suser") أو مت ("مرحبًا ، لا أستطيع أن أقسم! $!") ؛

    بداية $ = ؛ أغلق U ؛

    اقضم بصوت عالي $ starl؛

    النطاق العلوي ($ start) ؛

    ## لم يتم تحديد عنوان URL لـ Yakshcho koristuvach іsnuє i

    ## القيمة اللاحقة ، اكتب القيمة اللاحقة

    ## الملف يحتوي على koristuvacha وتقريبا visnovok.

    ) آخر (

    افتح (U، "> $ user") أو مت ("مرحبًا ، لا يمكنني فتح قسيمة للسجل! $!") ؛

    طباعة U $ output-> param ("start")، "\ n"؛

    أغلق U ؛

    & print_range ($ output-> param ("start 1)) ؛)

    sub print_range (

    بدايتي بالدولار = التحول ؛

    عدد دولاراتي = 0 ؛

    خطي $ = ""

    print $ output-> header،

    $ output-> start_html ("قاموسي") ؛

    مطبعة"

    \ن"؛ 

    بينما ((عدد الدولارات< $start) and ($line = )) ($ count ++؛)

    بينما ((عدد الدولارات< $start+10) and ($line = ))

    طباعة $ line؛ العد ++ دولار ؛

    $ newnext الخاص بي = $ start + 10 ؛

    $ newprev الخاص بي = $ start-10 ؛

    مطبعة"

    ما لم (ابدأ == 0)

    {

    مطبعة

    ف ف ٪

    سابق٪؛

    }

    ما لم (eof) (طباعة qq٪ Next٪ ؛

    # يرجى ملاحظة أن "اسم المستخدم" ملحق بعنوان URL.

    # خلاف ذلك ، ننسى CGI ، مع بعض ماو قصيرة على اليمين.

    }

    print $ output-> end_html؛

    خروج (0 بوصة) ;

    }

    تعال بأمان

    مع الخوادم الروبوتية للإنترنت ، سواء كانت خوادم HTTP أو من نوع مختلف ، لا تتردد في الدخول إلى أمان أهم توربو. تبادل البيانات بين العميل والخادم والتي يتم وضعها في إطار العمل

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

    #! / usr / bin / perl -w

    استخدام CGI ؛

    مخرجاتي $ = CGI جديد ؛

    اسم المستخدم الخاص بي $ = output $ "param (" username ") ؛

    print $ output-> header ، $ output-> start_html ("Finger Output") ،

    "

    "،" finger $ username "،"
    "، output-> end_html $ ؛

    يوفر هذا البرنامج واجهة CGI آمنة للأمر اصبع اليد.كيفية تشغيل البرنامج تماما مثل finger.cgi ،لن ترى قائمة بجميع coristuvachs على الخادم. Yakcho run її yak finger.cgi؟ username = fred،ثم سترى معلومات حول koristuvach "fred" على الخادم. يمكنك التنقل في الجري її الياك اصبع اليد. oo.comلمعرفة معلومات حول koristuvach البعيد. ومع ذلك ، فقط قم بتشغيل її الياك finger.cgi؟ username = fred؛ يمكن أن تكون الخطب nebazhany. عامل ضغط الظهر "" في Perl يولد عملية صدفة ويلف أمرًا يقوم بتدوير النتيجة. اصبع $ اسم المستخدم *النصر كطريقة بسيطة للفوز بأمر الإصبع وأخذ النتيجة. ومع ذلك ، فإن غالبية معالجات الأوامر تسمح لك بدمج مجموعة من الأوامر في صف واحد. على سبيل المثال ، كن معالجًا ، مشابهًا لمعالج Bourne ، للقتال من أجل مساعدة الرمز "؛ ". توم"فريد الاصبع البريد قم بتشغيل الأمر الاصبع ودعنا ندعم الفريق بريد كيف يمكنني إعادة إرسال ملف كلمة المرور للخادم إلى koristuvachev المؤسف.

    يتم استخدام أحد الحلول في التحليل النحوي للبيانات في شكل بيانات بمساعدة عملية احتيال ضارة. يمكنك قول حرف شوكاتي "؛" ونرى كل الرموز القادمة. يمكنك القيام بمثل هذا الهجوم بطريقة بديلة مستحيلة. يمكن إعادة كتابة برنامج CGI الذي تم تحريكه على النحو التالي:

    #! / usr / local / bin / perl -w

    استخدام CGI ؛

    مخرجاتي $ = CGI جديد ؛

    اسم المستخدم $ الخاص بي = $ output-> param ("اسم المستخدم") ؛

    $|++;

    # إيقاف التخزين المؤقت بطريقة لتوجيه جميع البيانات إلى العميل ،

    print $ output-> header ، $ putput-> start_html ("Finger Output") ، "

    \ن"؛ 

    $ pid = open (C_OUT، "- |")؛ # هذا المصطلح Perl يولد عملية فرعية وينتج

    # قناة بين عمليات باتكيف وابنته ،

    if ($ pid) (# العملية برمتها.

    مطبعة ؛ قدم أدخل تفاصيل عملية الطفل.

    مطبعة"

    "، output-> end_html $ ؛

    خروج (O) ؛ قدم إنهاء البرنامج. )

    elsif (معرّف $ pid) (# Search child process.

    $ | ++ ؛ # إزالة التخزين المؤقت.

    exec ("/ usr / bin / finger"، $ username) أو die ("فشل استدعاء exec ().") ؛

    # شاهد برنامج الإصبع باستخدام Susername كواحد
    حجة سطر الأوامر. ) else ("fork () failed") ؛)

    # عفو Perevirka.

    مثل الباكيت ، ليس برنامج مطوي غني. Ale yakcho run її yak finger.cgi؟ username = fred؛ ثم سيتبع برنامج الإصبع الحجة فريد ؛ البريد مثل إمام واحد كوريستوفاتش.

    كإدخال أمان إضافي ، يقوم هذا البرنامج النصي بتشغيل الإصبع بوضوح كـ / usr / bin / finger. بطريقة مختلفة قليلاً ، إذا كان خادم الويب يمرر برنامج CGI الخاص بك بطريقة غير واضحة ، فقد يؤدي تشغيل إصبع بسيط إلى التقاط البرنامج الخطأ حسب الحاجة. يمكنك أن تعيش خطوة أمان أخرى عن طريق تغيير شحذ المسار وتغييره ، فقد يكون الأمر أكثر أهمية. ليس من الجيد رؤية دليل العمل الحالي من PATH ، تمامًا كما حصلت عليه ، لكنه ليس بالطريقة الصحيحة ، إذا كان من الضروري حقًا جعل البرنامج يعرفه في الدليل الجديد.

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

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

    الطريقة الثانية هي إنشاء كتالوج لقراءة هذا السجل ، في الواقع ، بعد أخذها من السجل الجديد ، سواء كان زاخيًا. Oskіlki іz zvnіshny svіtu otrimati الوصول إلى tsіh filіv يمكن أن يكون فقط من خلال برنامجك ، فالأمان ليس رائعًا ، كما يمكنك الحصول عليه. ومع ذلك ، بمجرد ظهور البرنامج dirka ، فإنه يزيل الوصول إلى جميع الملفات ، بما في ذلك إمكانية فقدانها. بالإضافة إلى ذلك ، coristuvachi القانونية التي تعمل على الخادم ، فمن الممكن أيضا لتغيير الملفات. إذا اخترت الإسراع باستخدام هذه الطريقة ، فستكون جميع خوادم الخادم مسؤولة عن الرصيد. بالإضافة إلى ذلك ، حدد دليلاً للملفات المطلوبة لبرامج CGI ؛ خلاف ذلك ، لا تخاطر بتنزيل الملفات.

    تمامًا مثل رحلتك الأولى إلى برمجة CGI ، يمكنك الذهاب إلى أبعد من ذلك بطرق مختلفة. تمت كتابة عشرات الكتب حول هذا الموضوع ، لا يُسمح للعديد منها بالتعرف على البرمجة. "CGI Programming on the World Wide Web"عرض "رايلي وشركاه" للمواد بدءًا من السيناريوهات البسيطة بلغات مختلفة وحتى الحيل والحيل الذكية. أصبحت CGI سهلة حقًا(يتعلق الأمر فقط بـ CGI) للعنوان http://www.jmarshall.com/easy/cgi/ .

    CGI تا بازي دانيه

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

    تقدم آلات Poshukovі بعقب منتظم لقواعد البيانات. لا تعمل آلة بوشوكوف على الإنترنت بحثًا عن الكلمات الرئيسية في تلك اللحظة ، إذا طُلب منك ذلك. موقع Natomist rozrobniki لمساعدة البرامج الأخرى في إنشاء مؤشر عملاق ، وهو قاعدة بيانات البيانات ، وسجلات محرك البحث. تقوم قواعد البيانات بجمع المعلومات من العارض ، مما يسمح بإدخال كلمة المرور مع وصول كافٍ.

    يمنح Zavdyaks بسبب تفاهة قاعدة البيانات الويب مزيدًا من القوة: يحولونها إلى واجهة محتملة تكون جيدة لها. على سبيل المثال ، يمكن التحكم في إدارة النظام عن بُعد عبر واجهة ويب لاستبدال سجل المسؤول في النظام المطلوب. ربط قواعد البيانات بالويب هو أساس مستوى جديد من التفاعل بالإنترنت.

    تُعطى العلامات بانتظام أحد أسباب ربط قواعد البيانات بالويب: جزء كبير من معلومات العالم موجود بالفعل في قواعد البيانات. تسمى قواعد البيانات التي تم تأسيسها قبل إثبات الويب بقواعد البيانات القديمة (على العكس من ذلك ، فهي غير متصلة بقواعد بيانات الويب ، وقد أنشأناها مؤخرًا ويجب أن يطلق عليها "فكرة سيئة"). تواجه الكثير من الشركات (و navіt private osіb) التحدي المتمثل في تأمين الوصول إلى قواعد البيانات المتدهورة هذه عبر الويب. فقط لأن قاعدة البيانات الخاصة بك تم إرجاعها إلى إصدار أقدم ليست MySQL ولكن mSQL ، والموضوع يقع خارج حدود هذا الكتاب.

    كما قيل من قبل ، يمكن لمعرفتك فقط أن تكون قادرة على الاتصال بين قواعد البيانات على الويب. يوجد في الدنمارك الآلاف من قواعد البيانات الفريدة والأصلية التي يمكن الوصول إليها من الويب. تختلف قواعد بيانات Tipi التي توجد خارج حدود هذه البرامج. وهي تعمل مع برامج CGI كواجهة لخادم قاعدة البيانات ، مثل MySQL أو mSQL. تعتبر Tsі Tipi ذات أهمية قصوى بالنسبة لنا. برامج تجارية أخرى للتفاعل مع قواعد بيانات سطح المكتب الشائعة مثل Microsoft Access و Claris FileMaker Pro. خلاف ذلك ، ما عليك سوى العمل مع ملفات نصية مسطحة ، وهي أبسط قواعد بيانات ممكنة.

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

    جانب 1 من 30

    تعتبر خطابات اليوم بمثابة دفتر ضيف ، وبحث على الخادم ، ونموذج لتصحيح تحديث - سمة لا غنى عنها لموقع جاد من الناحية العملية. مشكلة ركود أجراس وصفارات cich وغيرها ، zrozumіlo ، بقوة zbudzhuє vyavu web master-pochatkіvtsya ، pozbavlyayuchi yogo النوم والشهية والرغبة الشديدة في تناول الجعة. إنه لأمر مؤسف أن تصور HTML لأطراف المنافسين ليس شيئًا ، فالجريمة يتم إرسالها إلى الاسم المستعار "cgi-bin" ، لم يحدث ذلك ، ولكن في المؤتمرات عبر الهاتف ، هناك لغز حول الاسم المستعار لـ cgi-script. هذه المقالة مخصصة لأساسيات استخدام نصوص CGI من أجل مجد وازدهار موقعك.

    بالنسبة إلى قطعة خبز ، أعتقد ، عليك أن تفهم بفهم. البرنامج النصي CGI هو برنامج يتم استضافته على خادم ويب لطلب العميل (لخدمة موقع ويب). لا يمكن تمييز البرنامج بشكل أساسي عن البرامج المعتادة المثبتة على جهاز الكمبيوتر الخاص بك - سواء كانت MS Word أو Quake. CGI ليست لغة برمجة ، مثل كتابة نص برمجي ، لكن واجهة البوابة المشتركة هي واجهة خاصة تحتاج إلى مساعدتها لتشغيل البرنامج النصي والتفاعل معه.

    إدخال غنائي قصير لـ CGI

    أوه ، ما الأمر CGI- مخطوطات و vzagali مثل الخطب. دعنا نتعرف على متصفحك (إذا كتبت URL) اتبع البروتوكول httpіz المعين من قبل الخادم و vmagaє في الملف المطلوب الجديد ، شيء من هذا القبيل:

    احصل على /~paaa/cgi-bin/guestbbok.cgi HTTP / 1.0-Axis tse nagolovnіshe zapі

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

    HTTP / 1.0 200 موافق
    نوع المحتوى: نص / html

    دالي بعد صف فارغ رأسمنظر جسم) معلومات بيئة تطوير متكاملة من URL"أ ...
    مبدأ المحور ص أنا كله www.... تنتقل من قوة إلى قوة.
    وما هو ضروري لإدخال هذه العملية العابس حسب اليمينتفاعلية وديناميكية وجميلة ورائعة ....؟ ما هذا؟ هذا فقط ما هو الخطأ في السؤال URLحدد برنامج خاص ( CGI،برنامج واجهة البوابة العامة - واجهة البوابة المنقسمة) وتلك التي يمكن للبرنامج رؤيتها وتصحيح المتصفح .... يبدأ الخادم .cgiالبرنامج ولن يقوم ، على سبيل المثال ، بعد إكمال نموذج البيانات ، بإدخالك في مكان ما في قاعدة البيانات الخاصة بك ، وإخبارك بما انت رجل رائع :)
    حسنًا ، أظن أني أثارت اهتمامك ......؟

    قصص قصيرة عن أولئك الذين تحتاج إلى معرفتهم والكتابة CGIسكريبت: حسنًا ، أولاً وقبل كل شيء ، عليك أن تعرف ما هو إنترنتوكيف يعمل فين (هل تعلم؟) ;))) ) حسنًا ، أحتاج إلى برمجة أكثر من ذلك بقليل
    دعنا نكتب شيئًا مثل نص بسيط في الحال ، ثم سأخبرك أين ينفخ الكلب.
    حسنًا ، عد إلى كتالوج منزلك لإنشاء دليل سي جي بن:

    القرص المضغوط public_html
    مكدير cgi بن
    chmod 0777 cgi-bin

    سيكون باقي الصف أكثر أهمية.
    حدد المحرر والنوع: #! / usr / bin / perl
    # first.cgi
    طباعة "نوع المحتوى: نص / html \ n \ n" ؛
    مطبعة" ";
    مطبعة"

    مرحبا انت!

    ";
    مطبعة ""؛

    حفظ اليوجا في الدليل سي جي بنتحت الإمام أولا. CGIحسنًا ، كيف قمت بحفظه؟
    والآن نحتاج إلى إنشاء yoga vikonuvanim (حتى لو كان البرنامج):

    chmod + x first.cgi

    حسنًا ، المحور ، حان الوقت للذهاب إلى لحظة التبول .... اكتب في صف من المتصفح http://www.uic.nnov.ru/~tv_y_login/cgi-bin/first.cgi
    وأتساءل ماذا سيكون. سيكون واحدًا من اثنين ، أو ستتم معالجة البرنامج النصي وستكون قادرًا على إنشاء جانب تم إنشاؤه بواسطته (أعتقد أنه وصل إلى فوجنا!) أو خطأ في الخادم الداخلي- لا تخجل ، لقد أخطأت. سوف تصبح مساعدًا في المستقبل لاصطياد البراغيث. حسنًا ، أولاً وقبل كل شيء ، يمكنك تغيير بناء الجملة في الخطوة التالية:

    perl -3 first.cgi

    يمكنك أن ترى Perl على الفور ، أو يمكنك التحدث عن العفو (حسنًا ، لقد فاتتك النقطة ، تم إغلاق الذراعين أو الكفوف ...) يمكنك إصلاحه على طول الطريق.
    من الوقاحة تفويت مشهد صف فارغ ، بمظهر منطقي يدعم عنوان الجسم:
    طباعة "نوع المحتوى: نص / html \ n \ n" ؛ # كل شيء على حق
    طباعة "نوع المحتوى: نص / html \ n" ؛ #تقسيم!

    دعنا نلقي نظرة على البرنامج النصي:
    السطر الاول #! / usr / bin / perlفقط أشير إلى ما يوجد في نظام ترتيب Perl. tse آخر مجرد تعليق - يمكنك tikati cho بالتأكيد بعد الإشارة #
    دعنا نذهب طباعة "نوع المحتوى: نص / html \ n \ n" ؛يشير هذا الرأس إلى النوع بدلاً من كل شيء يستخدمه البرنامج النصي في البرنامج النصي القياسي STDOUT ليتم معالجته على الخادم. صف فارغ vodokremlyuє يتجه مثل الجسم ، كما هو الحال بطريقتنا الخاصة є

    مرحبا انت!



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

    حسنًا ، لقد تم بالفعل إتقان محور آسيا ، كل شيء ليس مهمًا وقبيحًا كما كان من قبل
    الآن يمكنك التدرب على كتابة مثل هذه النصوص البسيطة بنفسك لتضع يديك عليها.

    تعد واجهة البوابة العامة (CGI ، Rus. Global Gateway Interface) طريقة قياسية للصف الديناميكي من خلال صفحات الويب للبرامج الخاصة الإضافية التي يتم تثبيتها على جانب خادم الويب. تسمى البرامج الأخرى CGI-coders أو gateways ، وفي أغلب الأحيان - CGI-scripts ، لأن النتانات مكتوبة بواسطة scripting mov ، معظمها بلغة Perl.

    النص التشعبي لـ Oskіlki ثابت بطبيعته ، ولا يمكن أن يتفاعل موقع الويب بدون وسيط مع النواة. قبل ظهور JavaScript ، لم تكن هناك طريقة أخرى للرد على إدخال koristuvach ، ولكن لنقل البيانات التي يدخلها إلى خادم ويب لمزيد من المعالجة. في أوقات CGI ، تتم المعالجة بمساعدة برامج البرمجة النصية المتقدمة ، والتي يتم تنفيذها من خلال التوحيد القياسي (div. RFC 3875: CGI الإصدار 1.1) - بوابة برية. النموذج الذي يوضح روبوت CGI مبسط ، ويظهر في الشكل. 1.

    كيف تمارس CGI؟

    يمكن تقديم خوارزمية آلية أكثر تقدمًا من خلال CGI على النحو التالي:

    1. يطلب العميل ملحق CGI من URI.
    2. يتلقى خادم الويب الطلب والتثبيت تغيير شحذ، من خلالها يتم نقل البيانات ومعلومات الخدمة إلى الملحق.
    3. يقوم خادم الويب بإعادة توجيه الطلبات عبر تدفق الإدخال القياسي (stdin) إلى إدخال البرنامج المراد استدعاؤه.
    4. سيقوم ملحق CGI بتنفيذ جميع العمليات الضرورية ونماذج النتائج في HTML.
    5. يتم إنشاء النص التشعبي بواسطة خادم الويب من خلال تدفق العرض القياسي (stdout). يتم إرسال الإخطارات بشأن العفو عبر stderr.
    6. يرسل خادم الويب النتائج إلى طلب العميل.

    مناطق كعب CGI

    في معظم الأحيان ، علاوة على ذلك ، فإن CGI هو إنشاء جوانب تفاعلية ، والتي يمكن العثور عليها في شكل coristuvach. التطبيقات النموذجية لصفحات الويب هذه هي نموذج التسجيل على الموقع أو نموذج إضافة التعليقات. هناك مجال آخر لتخفيض CGI ، والذي خلفه lashtunkas في التفاعل مع coristuvach ، وهو مرتبط بجمع تلك المعلومات العامة حول العميل: أن قراءة "ملفات تعريف الارتباط" مثبتة ؛ بيانات otrimannya حول المتصفح ونظام التشغيل ؛ pіdrahunok kіlkostі vіdvіduvan web-storіka ؛ مراقبة حركة مرور الويب فقط.

    من الممكن التأكد من أن برنامج نصي CGI يمكنه الاتصال بقاعدة بيانات أو الانتقال إلى نظام ملفات الخادم. بهذه الطريقة ، يمكن لبرنامج نصي CGI تخزين المعلومات في جداول أو ملفات قاعدة البيانات وإلقاء نظرة على الطلب ، والذي لا يمكن إجراؤه باستخدام HTML.

    عودة الاحترام: CGI ليست لغة برمجة! هذا بروتوكول بسيط يسمح لخادم الويب بإرسال البيانات عبر stdin وقراءتها من stdout. لذلك ، كمعالج CGI ، يمكن خداع ما إذا كان برنامج الخادم مصممًا للعمل مع تدفقات الإدخال والإخراج القياسية.

    مرحبا بالعالم!

    يظهر مثال على برنامج نصي CGI بسيط في mov Perl في القائمة 1. لحفظ هذا الرمز في ملف hello (يمكن أن يكون أيًا كان ، extension - tezh) ، ضع الملف في دليل خادم cgi-bin (بشكل أكثر دقة ، دليل خادم الويب ، وهي وجهات برامج CGI والتعليمات في إعدادات خادم الويب) وتعيين أذونات هذا الملف إلى wiki (chmod uo + x hello) ، ثم سيكون النبيذ متاحًا للعنوان مثل http: // servername / cgi-bin / hello.

    قائمة 1. مثال على برنامج نصي CGI (Perl)

    #! / usr / bin / perl print "Content-type: text / html \ n \ n"؛ مطبعة< CGI قل مرحبًا

    مرحبا بالعالم!

    خروج HTML

    بالنسبة إلى هذا الرمز ، يُظهر السطر #! / usr / bin / perl المسار إلى مفسر Perl. نوع محتوى الصف: نص / html \ n \ n - رأس http الذي يحدد النوع بدلاً من ذلك (نوع mime). الرمز المنخفض لتوسيع الصف (\ n \ n) هو اللغة العامة ، ورمز المفتاح الفرعي للعناوين هو عنوان الرسالة.

    تغيير الشحذ

    يمكن لجميع برامج CGI الوصول إلى التغييرات التي تم تثبيتها بواسطة خادم الويب. تلعب هذه التغييرات دورًا مهمًا في كتابة برامج CGI. تسرد الجداول الأعمال من التغييرات المتاحة لـ CGI.

    تغيير الشحذوصف
    نوع المحتوى نوع البيانات التي سيتم إرسالها إلى الخادم. النصر ، إذا كان العميل يفوق البيانات ، على سبيل المثال ، يلتقط الملف.
    طول المحتوىطلب Rozmir vmistu. تم تعيين هذا التغيير لطلبات POST.
    HTTP_COOKIEبدوره كتابة "ملفات تعريف الارتباط" مثل أزواج "مفتاح القيمة".
    HTTP_USER_AGENTمعلومات عن وكيل koristuvach (متصفح)
    PATH_INFOالطريق إلى دليل CGI
    QUERY_STRINGصف المعلومات (المشفر بعنوان URL) ، والذي يتم نقله بطريقة GET.
    REMOTE_ADDRعناوين IP للعميل
    المضيف البعيدخارج اسم العميل (FQDN). (ياكشو є)
    REQUEST_METHODالطريقة ، yakim vykonuєtsya انطلق. في أغلب الأحيان GET أو POST.
    SCRIPT_FILENAMEطريقة بوفني للنص المطلوب (في نظام ملفات الخادم).
    SCRIPT_NAMEالسيناريو im'ya
    اسم الخادماسم الخادم
    SERVER_ADDRعناوين IP للخادم
    SERVER_SOFTWAREمعلومات حول برنامج الخادم

    تحتوي القائمة 2 على رمز برنامج Perl صغير يعرض قائمة بالتغييرات. النتيجة її تظهر في الشكل. 2.

    قائمة 2. تغيير شحذ

    #! / usr / bin / perl print "Content-type: text / html \ n \ n"؛ مطبعة" \ن \ن

    بيئة

    \ n "؛ foreach (مفاتيح الترتيب٪ ENV) (طباعة" $_: ENV دولار (_ $)
    \ n "؛) طباعة"\ن"؛ مخرج؛

    نقل البيانات: طريقة GET

    يتم استخدام طريقة GET لتمرير بيانات urlencoded من خلال صف الاستعلام. يتم تمييز عناوين المورد المطلوب (نص CGI) والبيانات التي تم تمريرها إليك بعلامة "؟". مثال على هذا العنوان:

    http://example.com/cgi-bin/script.cgi؟key1=value1&key2=value2

    احصل على انتصارات لكتابة البيانات التي تم إدخالها في شريط عنوان المتصفح. يمكن تشكيل هذا الصف نفسه عند زيادة حجم البيانات من نموذج ويب (علامة ) لأن طريقة إرسال النموذج غير محددة. يتم إرسال جميع المعلومات ، التي تغلب عليها طريقة GET ، إلى الشخص المناسب ، لذلك لا داعي لاختراقها لإرسالها إلى خادم كلمة المرور أو أي معلومات أخرى. يمكن استبدال طريقة GET للتوسيع: يمكن ملء صف ولكن لا يكتمل لـ 1024 حرفًا.

    يتم نقل المعلومات التي حلت محلها طريقة GET إلى رأس QUERY_STRING في صف مرئي ، والتي تتم إضافتها في أزواج المفتاح = القيمة، يمكن إزالة البرنامج النصي CGI عن طريق تغيير قائمة واحدة.

    القائمة 3. فرض البيانات من نموذج ويب باستخدام GET

    برمجة نصية CGI بسيطة: إرسال البيانات باستخدام طريقة GET أنت الاسم: الاسم = "المستخدم">
    من أين أنت؟: الاسم = "من">

    بعد إدخال البيانات في النموذج من القائمة 3 والضغط على الزر "إرسال" ، سيتم إنشاء صف للنموذج:

    http://example.com/cgi-bin/ قل مرحبا?مستخدم=بعض النصوص&من=نص آخر

    de: sayhello - im'ya CGI النصي ؛ المستخدم ومن - أسماء المعلمات ؛ deak_text و іnshiytekst - أدخل القيمة الصحيحة للمعلمات المحددة.

    تحتوي القائمة 4 على مثيل لبرنامج نصي يمكن معالجته في شكل القائمة 3.

    قائمة 4. فرض البيانات من نماذج الويب باستخدام طريقة GET

    #! / usr / bin / perl local ($ buffer،pairs، $ pair، $ name، $ value،٪ FORM)؛ # تحليل التصفية $ ENV ("REQUEST_METHOD") = ~ tr / a-z / A-Z /؛ إذا ($ ENV (" REQUEST_METHOD") مكافئ" يحصل") (المخزن المؤقت بالدولار = ENV دولار (" QUERY_STRING") ؛) # قسّم الصف على رهان مفتاح / قيمة @ أزواج = انقسام (/ & / ، عازلة $) ؛ foreach $ pair (@ أزواج) (($ name، $ value) = split (/ = /، $ زوج) ، قيمة $ = ~ tr / + / / ؛ قيمة $ = ~ s /٪(..)/ pack ("C" ، hex ($ 1)) / على سبيل المثال ؛ $ FORM ($ name) = $ value ؛ اختياري data to array) # Edit header print "Content-type: text / html \ n \ n"؛ # تحرير طباعة النص التشعبي< CGI قل مرحبًا

    مرحبًا ، $ FORM (مستخدم) من $ FORM (from)!

    خروج HTML

    نقل البيانات: طريقة POST

    الطريقة الأنسب للتمرير إلى برنامج نصي CGI هي طريقة POST. يتم تكوين كتلة البيانات بنفس الطريقة المتبعة في طريقة GET ، ولكن يتم تحديد النقل بدون وسيط في حقل الإدخال. يمكن إدخال البيانات بواسطة برامج CGI عبر الإدخال القياسي (stdin).

    لإنفاذ هذه الوظائف بواسطة طريقة الفوز ، يجب إلقاء اللوم على المهام الصريحة في وصف النموذج (الإجراء = "POST").

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

    ... # تحليل $ ENV ("REQUEST_METHOD") = ~ tr / a-z / A-Z /؛ إذا ($ ENV (" REQUEST_METHOD") مكافئ" بريد")(يقرأ( STDIN، $ buffer، $ ENV (" طول المحتوى"}); } ...

    يتم حساب المعالجة الإضافية للوفورات في تغيير معلمات المخزن المؤقت $ وقيمته بنفس الطريقة ، كما في حالة طريقة GET.

    فوائد CGI

    يتم تكرار ثروة من إمكانيات CGI على الفور بواسطة تقنيات مثل DHTML أو ActiveX أو Java. تتمثل المزايا الرئيسية لاستخدام البرامج النصية للخادم في تلك التي يمكنك التأكد من أن جميع العملاء (مع القليل من اللوم ، الدعوة لمنع الوصول إلى الموارد الرئيسية على مستوى جدار الحماية) يمكنهم العمل مع ملحق الخادم. يمكن تمكين برامج العميل ببساطة في المتصفح ، وإلا فلن يتم دعمها.

    عيوب CGI

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

    يتمثل العيب الآخر في CGI في حماية خادم الويب بشكل أقل تماشياً مع الحلول الأخرى. قد يؤدي تعيين حقوق الوصول بشكل غير صحيح إلى موارد الخادم من برامج CGI إلى تهديد ليس فقط التطبيق العملي لخادم الويب ، ولكن أيضًا لأمن المعلومات. Vtіm ، يمكن أن تكون تقنية merezhnuyu تشبه vvazhat يحتمل أن تكون غير آمنة بالفعل للتعيينات.

    انشر عنوان الطرف الثالث:

    لا يعرف أسياد المتاجر عبر الإنترنت القليل عن مفهوم "التجارة الإلكترونية" ، يجب أن يعرفوا بالفعل على وجه اليقين تغذية "التجارة الإلكترونية - كيف تبدو". ومع ذلك ، نظرًا لأنه يتوسع في الجوهر ، فإنه يندمج مع الفروق الدقيقة ويكتسب هذا المصطلح معنى أوسع.

    التجارة الإلكترونية: ما هي؟

    من المفهوم أن تبدو هكذا: لكي تفهم التجارة الإلكترونية الأغنية قبل إدارة نشاط تجاري ، فإنك تنقل تضمين عملياتك المنخفضة ، لنقل البيانات رقميًا لساعة عمل البضائع والعمل في هذه الخدمات / العمل ، العمل مع مساعدة الإنترنت.

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

    المخطط الآلي هو vlashtovan على النحو التالي:

    • سواء كان مدونًا ، أو ما إذا كان سيدًا آخر لهيئة موقع الإنترنت) التسجيل في هذا النظام ؛
    • otrimu vlasne بوسيلانيا ؛
    • وضع رمز خاص على صفحة الويب الخاصة بك - يتم عرض إعلان للشريك الرسمي العكسي لشبكة شركاء التجارة الإلكترونية ؛
    • لمتابعة تحويل الموقع ؛
    • كسب المال لشراء الجلود من موقعك ، وهو نوع من التحويل للعروض التابعة.

    WP التجارة الإلكترونية

    يغمر الكثير من الناس على الفور بالتجارة الإلكترونية ، في المقام الأول ، من خلال المدينة ، ينشئون موقعًا رسميًا ، ومتجرًا فريدًا عبر الإنترنت لبيع المنتجات عالية الجودة. لإرضاء الجميع ، ركز تجار التجزئة على إنشاء نموذج للتجارة الإلكترونية (قوالب في التجارة الإلكترونية). ما هو بعيد جدا.

    أحد تطبيقات القوالب هذه هو التجارة الإلكترونية في WordPress. تم تعيين المكون الإضافي لعربة التسوق لـ WordPress (أحد أكثر أنظمة إدارة موارد الويب شيوعًا) في المقام الأول لإنشاء المدونات). من المأمول أن تكون خالية تمامًا من التكلفة لأنها تتيح الفرصة للسماح للموقع بإجراء عمليات شراء على الإنترنت.

    بمعنى آخر ، يتيح لك هذا المكون الإضافي إنشاء متجر على الإنترنت (بناءً على WordPress). يحتوي المكون الإضافي للتجارة الإلكترونية على جميع الأدوات اللازمة ، وضبط الخيارات التي تلبي الاحتياجات الحالية.

    2005-2017