English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

كوكي CGI Ruby

بروتوكول HTTP هو بروتوكول غير��态ي. ولكن للموقع التجاري، يجب الحفاظ على معلومات الجلسة بين الصفحات المختلفة.

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

في هذه الحالة، ساعد كوكينا بشكل جيد في حل المشكلة.

كيف يعمل كوكي؟

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

الكتابة والقراءة

مجموعة الكوكيز هي مجموعة بيانات تابعة لجسم الاستجابة والطلب، ويجب إضافة Response أو Request قبل استخدامها.

النصغة التي تستخدم لتقديم الكوكي إلى جهاز المستخدم هي:}}

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

إذا كان المستخدم يريد قراءة الكوكي، يجب استخدامه مجموعة الكوكي في Request، ويجب استخدام الطريقة التالية: يرجى ملاحظة أنه يجب أن يتم تبديل response.Buffer=True قبل أن يبدأ المتصفح في استقبال البيانات التي يتم تحميلها من Server، وإلا فإن تبادل بيانات الكوكي يتوقف، ولمجنبته الأخطاء يجب وضع الشيفرة في بداية البرنامج.

خصائص المجموعة

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

  • 2. خاصية Domain:تعريف هذه الخاصية يحدد استقلالية بيانات الكوكي. إذا تم إرسال بعض الكوكي فقط إلى صفحة _blank">موقع Sohu الرئيسي، يمكن استخدام الشيفرة التالية:

  • 3. خاصية Path:يحدد أن الكوكي سيتم إرساله فقط إلى الطلبات التي تم تحديدها في المسار، إذا لم يتم تعيين خاصية Path، فإن المسار الافتراضي للتطبيق سيتم استخدامه.

  • 4. خاصية Secure:تحديد ما إذا كان يمكن للمستخدم قراءة الكوكي.

  • 5. Name=Value : يتم تعيين واسترجاع الكوكي على شكل أزواج من المفاتيح والقيم.

معالجة الكوكي في Ruby

يمكنك إنشاء عنصر名为 cookie و حفظ معلومات النص، وإرسال هذه المعلومات إلى المتصفح، وتعيين رأس الكوكي باستخدام CGI.out:

مثال على الخطوة

#!/usr/bin/ruby
 
require "cgi"
cgi = CGI.new("html4")
cookie = CGI::Cookie.new('name' => 'mycookie',
                         'value' => 'Zara Ali',
                         'expires' => Time.now + 3600
cgi.out('cookie' => cookie) do
   cgi.head + cgi.body { "Cookie stored" }
نهاية

نحن الآن نعود إلى هذه الصفحة ونبحث عن قيمة الكوكي، كما يلي:

مثال على الخطوة

#!/usr/bin/ruby
 
require "cgi"
cgi = CGI.new("html4")
cookie = cgi.cookies['mycookie']
cgi.out('cookie' => cookie) do
   cgi.head + cgi.body { cookie[0] }
نهاية

يحتوي CGI::Cookie عند التمثيل على الت参数 التالية:

المتغيراتالوصف
الاسمتحديد اسم الكوكي.
القيمةتحديد قيمة الكوكي.
انتهاء الصلاحيةتحديد فترة صلاحية الكوكي.
المسارتحديد مسار الخادم للكوكي.
النطاقتحديد اسم نطاق الكوكي.
آمنتحديد ما إذا كان يتم نقل الكوكي من خلال اتصال HTTPS آمن.