التشفير بالمفتاح المتناظر

تحدثت من قبل عن التشفير باتجاه واحد، وسأكمل الآن بالحديث عن التشفير بالمفتاح المتناظر.

التشفير بالمفتاح المتناظر (Symmetric Key Encryption) هو أسلوب من أساليب التشفير يستخدم فيه مفتاح سري لتشفير رسالة ما وفك تشفيرها، ويسمى بالتشفير بالمفتاح المتناظر لأن المفتاح الذي يستخدم لتشفير الرسالة هو نفسه المستخدم لفك تشفيرها، في مقابل التشفير الغير متناظر الذي سأتحدث عنه في المرة القادمة إن شاء الله.

قراءة بقية هذا الموضوع »

التشفير باتجاه واحد

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

هنالك عدة خطط للتشفير (Encryption Schemes)، أو يمكننا أن نسميها أيضا طرقا أو أساليب للتشفير، لكل منها نقاط قوتها وضعفها واستخداماتها، وهذه الأساليب هي أفكار عامة وليست تطبيقات عملية للتشفير، أما التطبيقات العملية للتشفير فتسمى خوارزميات التشفير (Encryption Algorithms)، وسيتضح الفرق بينهما أكثر عندما نأخذ أمثلة عل كل منهما.

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

التشفير باتجاه واحد (One way encryption) هو أسلوب من أساليب التشفير تأخذ الرسالة المراد تشفيرها وتحورها لتخرج بشيء يسمى المفتاح الشفرة (Hash Key)، وأهم في هذا المفتاح هو أنه لا توجد طريقة فيه لفك التشفير والحصول على الرسالة الأصلية منه، ولهذا السبب سمي هذا الأسلوب بأسلوب التشفير باتجاه واحد.

قراءة بقية هذا الموضوع »

أمن برامج الويب: البرمجة عبر الموقع XSS

واحدة من أشهر أنواع الثغرات التي على الويب والتي لا تهتم لها الكثير من المواقع العربية هي ثغرة البرمجة عبر الموقع أو Cross-Site Scripting (وتختصر عادة إلى XSS)، وقد سميت بذلك لأن فكرتها هي أنك تستخدم الموقع كوسيط بينك وبين الضحية بحيث تضع شفرة برمجية (Script وتقريبا دائما يكون بلغة JavaScript) على الموقع وتجبر الضحية على تشغيل هذا السكريبت عند زيارته للموقع دون أن يشعر، ومن أبرز أمثلتها برامج المنتديات العامة التي تسمح لأي عضو باستخدام لغة HTML في المواضيع والردود التي يكتبها.

وسأتحدث عنها وبشكل عام عن مشكلة السماح للمستخدمين بانتاج صفحات تحتوي على شفرات HTML التي يريدونها، خاصة في المنتديات.

قراءة بقية هذا الموضوع »

بنية المعلومات في قواعد البيانات العلائقية

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

الاسم رقم الهاتف
مدحت 223341
غلام 244211
جون 299113

ففي المثال السابق هنالك ثلاثة سجلات في الجدول كل منها مكون من معلومة مخزنة في أحد الحقلين الذين يعرّفان الجدول وهما الاسم ورقم الهاتف.

قراءة بقية هذا الموضوع »

أمثلة وملاحظات على أداة تغيير اتجاه التصميم

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

[سردال]: http://www.serdal.com/

سردال قالها أفضل مني، لذلك فإنني أنقل لكم كلماته التي قالها تعليقا على هذه الأداة:

>ما يفعله السكربت الذي برمجته في ثوان أو أقل من ثانية يتطلب مني عمل 10 إلى 20 دقيقة حسب تعقيد التصميم!
>[…]
>يا إلهي! لماذا لم يفكر أحد من قبل بهذه الفكرة؟

تقنية Sitemap من Google توجه محرك البحث إلى صفحات الموقع

أعلنت Google عن اطلاق تقنية جديدة تدعى [Sitemap][] تسمح لمطوري مواقع ويب بتحديد قائمة تحتوي على كافة صفحات الموقع ومعلومات اضافية عن هذه الصفحات، والهدف منها حسب ما تقول Google هو زيادة تغطية محركات البحث وحداثة نتائج البحث.

[Sitemap]: http://www.google.com/webmasters/sitemaps/

هذه المعلومات الاضافية عن صفحات الموقع تساعد زاحفات محركات البحث (البرامج التي تقوم بزيارة ملايين صفحات الانترنت يوميا لتخزين محتوياتها في فهارس البحث) على اتخاذا القرارات بشأن الصحفات التي يجب زيارتها وفترات تكرار الزيارة، وهي تحدد في ملف مكتوب بلغة XML ويوضع في الدليل الرئيسي للموقع باسم sitemap.gz بعد أن يتم ضغط الملف بنظام gzip.

المعلومات التي يمكن تحديدها لكل صفحة من صفحات الموقع في الملف هي:

* معدل تغير الصفحة: دائما، كل ساعة، يوميا، أسبوعيا، شهريا، سنويا، وأبدا.
* آخر تغيير: التاريخ والوقت الذي تغيرت فيه الصفحة آخر مرة.
* الأولوية: وهي تسمح بتحديد صفحات معينة على أنها ذات أولولية أعلى من صفحات أخرى في نفس الموقع.

أداة لتغيير جهة تصميم الصفحة تلقائيا

قمت اليوم بوضع اللمسات الأخيرة على [أداة جديدة][أداة] تسمح لك بتحويل تصاميم CSS إلى تصاميم معكوسة، وكأنك تنظر إليها بالمرآة، والهدف منها مساعدتك في تعريب تصاميم برامج الويب الجاهزة، مثل برنامج [WordPress][wordpress]، الذي يمكنك أن تحصل له على الكثير من [التصاميم الجاهزة][تصاميم].

[أداة]: /tools/cssmirror/
[wordpress]: http://www.wordpress.org/
[تصاميم]: http://www.alexking.org/software/wordpress/theme_browser.php

الأداة موجودة على هذا العنوان: [http://www.ahmadh.com/tools/cssmirror/](/tools/cssmirror/)

وتستخدم بأن تقوم بتحميل ملف ZIP يحتوي على ملفات CSS وملفات صور التصميم، ومن المفترض أنك بمجرد ارسال الملف فإن المتصفح سيعرض لك مربعا لتنزيل ملف ZIP المعدل، حيث يكون البرنامج قد قام بعمل التغييرات اللازمة على ملفات CSS وملفات الصور ذات الامتداد (gif, png, jpeg, jpg) وتحويلها كلها إلى نسخ معكوسة.

البرنامج لا يزال في مراحلة الابتدائية ويعاني من عدة مشاكل، أهمها أنه يقوم بتغييرات جذرية في ملف CSS من بينها ازالة كافة التعليقات (comments) وهذا الأمر يجب أن لا يؤثر في أكثر التصاميم، لكنه يؤثر بالذات على تصاميم WordPress التي تعتمد على هذه التعليقات في ملف style.css للحصول على معلومات التصميم، وستحتاج لاعادة وضع التعليق من ملف style.css الأصلي في بداية ملف style.css المعدل.

إذا كانت لديكم أية ملاحظات على البرنامج فيمكنكم كتابتها [كتعليقات على هذا الموضوع][تعليقات].

[تعليقات]: http://www.ahmadh.com/weblog/2005/06/07/cssmirror-released/#comments

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

كيف تلتقط صورا اجتماعية جميلة؟

قال لي أحدهم مرة معلقا على كثرة التقاطي للصور في احدى عطل نهاية الأسبوع العائلية: أنا لا أحب أن أصوّر، أتعرف لماذا؟ لأنني إذا توليت مهمة التصوير فإنني لن أظهر في الصور!

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

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

حتى وان لم تكون صورتك قد التقطت بواسطة الكاميرا، لكن مجرد وجود الصورة دليل على وجودك في ذلك المكان، لأنك أنت الذي التقطها، وبالتالي تكون أنت أكثر من ظهر في الصور!

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

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

قراءة بقية هذا الموضوع »

عهد جديد لأنظمة قواعد البيانات في بيئة ويندوز

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

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

أما التطور الثاني فهو يخص نظام قواعد البيانات المفتوح المصدر الآخر MySQL، والذي عرف مقابل نظام PostgreSQL بالسهولة في استخدامه وسرعته الفائقة في العمليات البسيطة التي يبرع بها، لذا فإنه انتشر بشكل واسع وصار مع لغة البرمجة PHP التوليفة الأكثر استخداما على الإنترنت لتشغيل مواقع الويب التفاعلية، وهو يدعم بيئة ويندوز بشكل ممتاز منذ عدة سنوات، ولكن هذا النظام كان يفتقر إلى دعم جيد للكثير من مزايا أنظمة قواعد البيانات العلائقية مثل المفاتيح الأجنبية (Foreign Keys) والاستعلامات المبيته (Sub-Queries) والتعاملات (Transactions)، لكن الاصدارة الخامسة (التجريبية حاليا) تأتي الآن مع دعم لكل هذه المزايا وغيرها.

النتيجة هي أن هنالك الآن نظامات متطوران مفتوحان المصدر ومجانيان تماما لقواعد البيانات العلائقية (مزودات SQL) يعملان على نظام التشغيل Windows، وهذا الأمر يجب أن يهدد بالدرجة الأولى برنامج قواعد البيانات الضعيف Microsoft Access الذي يعتبر نكتة مقابل هذه الأنظمة المتقدمة التي تعمل بنظام المزود والزبون (Client/Server)، خاصة في بيئات الشبكات، كما أنها تنافس أنظمة Microsoft وOracle المتقدمة بتوفيرها لكافة المزايا التي قد تحتاجها الشركات والمؤسسات في إدارة بياناتها وبدون أي مقابل، كما أنها أسهل بكثير من ناحية التعلم والاستخدام، لذا فإنه توفر الكثير من الجهد والمال.

« المواضيع التالية |